Wenn ich versuche, einen mittleren Ausschnitt eines UIImage zu erstellen, erhalte ich folgende Ergebnisse (links ist das Originalbild bei 640*1136
, und das rechte ist das zugeschnittene Bild, das an ein Quadrat UIImageView
bei 320*320
angepasst wurde):
wendet sich an:
Ich habe mit dem Verhältnis-Element ziemlich viel herumgebastelt, damit es den zu trimmenden Betrag richtig erkennen kann: Verwenden der kürzeren Seite des Bildes, Erstellen eines Verhältnisses basierend auf short_side/width_of_desired_rect
, aber es scheint nicht zu funktionieren in diesem Fall. Hilfe geschätzt!
Verwenden Sie diesen Code, um die Größe Ihres Bildes zu ändern
%Vor%Edit: Sie zeichnen auch hier im Grunde neu. Wenn Sie dasselbe Bild immer wieder verwenden, empfiehlt es sich, dieses einmal aufzurufen und das Ergebnis als Datei zu speichern. Laden Sie das anstelle des Originals statt in späteren Aufrufen.
Bearbeiten 2: Okay, was Sie tun möchten, ist das Seitenverhältnis beizubehalten, während das Bild in ein Quadrat passt. Der obige Code passt das Bild grundsätzlich in ein Quadrat, indem es die Größe ändert, aber es behält nicht das Seitenverhältnis bei. Eine Möglichkeit, das Seitenverhältnis beizubehalten, besteht darin, den Faktor zu finden, mit dem Sie die größere der beiden Dimensionen des Bildes verkleinern und dann die andere Dimension um denselben Faktor verkleinern. Lass es mich wissen, wenn du Probleme damit hast.
Tags und Links objective-c ios uiimage