Tocropviewcontroller: Kreisfläche anzeigen, aber mit Rechteck zuschneiden?

Erstellt am 15. Sept. 2017  ·  5Kommentare  ·  Quelle: TimOliver/TOCropViewController

Hi an alle!

Ich würde gerne wissen, ob es möglich ist, den kreisförmigen Zuschneidebereich den Benutzern anzuzeigen, aber anstatt das Bild mit einem Kreis zuzuschneiden, lassen Sie es einfach mit dem minimalen Rechteck zuschneiden, das diesen Kreis enthält. Ist das sinnvoll?

Vielen Dank!

question rfc

Hilfreichster Kommentar

Dooh! Wusste nicht, dass die:

- (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle

Delegat wurde aufgerufen, auch wenn ich den Zuschneidebereich auf kreisförmig gesetzt habe :)

Vielen Dank Tim! Prost!

Agus.

Alle 5 Kommentare

Hallo @agusguerra10!

Wenn Sie nur den CGRect aus einem Bild möchten, müssen Sie auch im Zirkelmodus nur die Delegate-Methode - (void)cropViewController:(TOCropViewController *)cropViewController didCropImageToRect:(CGRect)cropRect angle:(NSInteger)angle implementieren. :)

Sie können auch - (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle implementieren, wenn Sie eine quadratische Kopie dieses Bildes wünschen.

Hoffe das hat geholfen! Lass es mich wissen, wenn du etwas anderes suchst!

Dooh! Wusste nicht, dass die:

- (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle

Delegat wurde aufgerufen, auch wenn ich den Zuschneidebereich auf kreisförmig gesetzt habe :)

Vielen Dank Tim! Prost!

Agus.

Ja wirklich?
ich suche die antwort auf diese frage.
Ich habe den Stil kreisförmig eingestellt.
aber nicht die Delegate-Funktion aufrufen
func cropViewController(_ cropViewController: TOCropViewController, didCropToImage image: UIImage, rect cropRect: CGRect, angle: Int)

ich habe das problem gelöst

  • (void)cropViewController:(TOCropViewController *)cropViewController didCropImageToRect:(CGRect)cropRect angle:(NSInteger)angle

Diese Delegatmethode wird aufgerufen, auch wenn der Zuschneidebereich auf kreisförmig festgelegt ist.
im Delegaten verwende ich - (nicht null UIImage *)croppedImageWithFrame:(CGRect)frame angle:(NSInteger)angle circleClip:(BOOL)circular;
um es zuzuschneiden, um das rechteckige Bild zu erhalten. aber CircularClip muss auf false gesetzt werden.

Ich möchte Tim fragen, ist es richtig?
was agusguerra10 gesagt hat, wird in meinem projekt nicht genannt. xcode9-swift4.

  • (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle
    Den Beispielcode habe ich auch getestet. es wird auch nicht aufgerufen, wenn Sie den Stil kreisförmig einstellen

Keine Sorge @agusguerra10! Ja, im Nachhinein war es keine großartige Musterlogik, auf der die Delegatmethoden vom Delegate implementiert wurden; es hat ein wenig Verwirrung gestiftet. 😅

@ agusguerra10 Ich habe gerade den Code für die Behandlung von Delegiertenrückrufen überprüft. Das ist richtig. Wenn Sie eine der kreisförmigen Delegatmethoden im kreisförmigen Modus implementieren, wird diejenige ignoriert, die ein quadratisches Bild zurückgibt.

Wenn Sie der Meinung sind, dass dies geändert werden sollte, ist es möglicherweise besser, dies in einer neuen Ausgabe zu verfolgen. Vielen Dank! :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen