Ich habe das Gefühl, dass dies keine leichte Aufgabe ist, aber ich muss ein UIImageView mit einer anderen UIImage-Ansicht, die darüber liegt, kombinieren oder abflachen. Zum Beispiel: Ich habe zwei UIImageViews. Einer von ihnen hat ein Bild von einem grasbewachsenen Feld (1200 x 1200 Pixel). Das andere ist ein Bild eines Basketballs (128 x 128 Pixel), und es ist so über dem Bild des Grasfeldes positioniert, dass der Basketball scheinbar auf dem Grasfeld liegt. Ich möchte in der Lage sein, die überlagerten UIImageViews als eine einzelne Bilddatei zu meinem Fotoalbum zu speichern, was bedeutet, dass ich die beiden Bilder irgendwie kombinieren muss. Wie würde dies erreicht werden? (HINWEIS: Einen Screenshot (320 x 480 Pixel) nicht eine akzeptable Lösung sein, wie ich will die Größe von 1200 x 1600 Pixeln erhaltenWie man mehrere UIImageViews in EINEN "glättet"?
FRAGE:.
Wie kann ich mehrere UIImageViews in ein und SPAREN abflachen das resultierende Bild unter Beibehaltung der Größe/Auflösung
Übrigens, Corey, gibt es eine Möglichkeit, dies zu tun (Ihren obigen Code), während die Bildauflösung der Ansicht, die die Basisschicht (self.view.layer in Ihrem Code) ist, erhalten bleibt? Ich habe ein Foto in der Größe 1200 x 1600, aber nach der Verarbeitung (mit Ihrem Code) hat das resultierende Bild die Pixelgröße des UIImageView, das sein Container (320 x 427) war. – RexOnRoids
Ich kann nicht sicher sagen, aber die Taktik von Tequilatango scheint dies zu erreichen. Die Methode, die ich verwende, wird nur erfassen, was auf dem Bildschirm bei der Bildschirmauflösung angezeigt wird. Es ist schnell und schmutzig, aber funktioniert. Wenn Sie bessere Ergebnisse benötigen, müssen Sie das Bild wie dargestellt in den Puffer zeichnen. Natürlich, da dies das iPhone ist, wenn es eine Möglichkeit für Sie gibt, die Größe Ihrer Bilder zu verringern, ohne UX zu beeinflussen, dann sollten Sie es aus Gründen der Speicher/Leistung berücksichtigen. –
Um die Bildauflösung beizubehalten, verwenden Sie 'UIGraphicsBeginImageContextWithOptions (self.view.bounds.size, NO, 0.0)' –