Tocropviewcontroller: Показать область круга, но обрезать прямоугольником?

Созданный на 15 сент. 2017  ·  5Комментарии  ·  Источник: TimOliver/TOCropViewController

Всем привет!

Я хотел бы знать, возможно ли показать пользователям круговую область обрезки, но вместо того, чтобы обрезать изображение с кругом, просто обрежьте его с помощью минимального прямоугольника, содержащего этот круг, имеет ли это смысл?

Спасибо!

question rfc

Самый полезный комментарий

Дух! Не знал, что:

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

делегат был вызван, даже если я установил круговую область обрезки :)

Спасибо большое, Тим! Ваше здоровье!

Агус.

Все 5 Комментарий

Привет @ agusguerra10!

Если вам просто нужно значение CGRect из изображения, даже в круговом режиме, вам просто нужно реализовать метод делегата - (void)cropViewController:(TOCropViewController *)cropViewController didCropImageToRect:(CGRect)cropRect angle:(NSInteger)angle . :)

Вы также можете реализовать - (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle если хотите квадратную копию этого изображения.

Надеюсь, это помогло! Дайте мне знать, если вы ищете что-то еще!

Дух! Не знал, что:

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

делегат был вызван, даже если я установил круговую область обрезки :)

Спасибо большое, Тим! Ваше здоровье!

Агус.

В самом деле?
Я ищу ответ на этот вопрос.
Я установил круговой стиль.
но не вызывать функцию делегата
func cropViewController (_cropViewController: TOCropViewController, didCropToImage изображение: UIImage, прямоугольник cropRect: CGRect, угол: Int)

я решил проблему

  • (void) cropViewController: (TOCropViewController *) cropViewController didCropImageToRect: (CGRect) угол кадрирования: (NSInteger) угол

этот метод делегата будет вызываться, даже если задать круглую область обрезки.
в делегате я использую - (ненулевой UIImage *) croppedImageWithFrame: (CGRect) угол кадра: (NSInteger) угол круговой клип: (BOOL) круговой;
чтобы обрезать его, чтобы получить прямоугольное изображение. но нужно установить для roundClip значение false.

я хочу спросить Тима, это правильно?
то, что сказал agusguerra10, не вызывается в моем проекте. xcode9 swift4.

  • (void) cropViewController: (TOCropViewController *) cropViewController didCropToImage: (UIImage *) изображение с прямоугольником: (CGRect) угол кадрирования: угол (NSInteger)
    Я также протестировал пример кода. он не будет вызываться также, если вы установите стиль круговой

Не беспокойся @ agusguerra10! Да, оглядываясь назад, можно сказать, что это был не лучший шаблон, основанный на логике того, какие методы делегата реализовал делегат; это вызвало небольшую путаницу. 😅

@ agusguerra10 Я только что проверил код для обработки обратных вызовов делегатов . Это правильно. Если вы реализуете любой из методов кругового делегата в круговом режиме, то метод, который возвращает квадратное изображение, игнорируется.

Если вы считаете, что это следует изменить, возможно, лучше будет отследить это в новом выпуске. Спасибо! :)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги