Tocropviewcontroller: Mostrar a área do círculo, mas cortar com ret?

Criado em 15 set. 2017  ·  5Comentários  ·  Fonte: TimOliver/TOCropViewController

Olá a todos!

Gostaria de saber se é possível mostrar a área de recorte circular aos usuários, mas em vez de recortar a imagem com um círculo, apenas recortar com o retângulo mínimo contendo esse círculo, isso faz sentido?

Obrigado!

question rfc

Comentários muito úteis

Dooh! Não sabia que:

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

delegado foi chamado mesmo se eu definir a área de cultivo como circular :)

Muito obrigado Tim! Saúde!

Agus.

Todos 5 comentários

Olá @ agusguerra10!

Se você deseja apenas o CGRect de uma imagem, mesmo em modo circular, você só precisa implementar o método - (void)cropViewController:(TOCropViewController *)cropViewController didCropImageToRect:(CGRect)cropRect angle:(NSInteger)angle delegado. :)

Você também pode implementar - (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle se quiser uma cópia quadrada dessa imagem.

Espero que tenha ajudado! Avise-me se estiver procurando por outra coisa!

Dooh! Não sabia que:

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

delegado foi chamado mesmo se eu definir a área de cultivo como circular :)

Muito obrigado Tim! Saúde!

Agus.

Mesmo?
estou procurando a resposta para esta pergunta.
eu defini o estilo circular.
mas não chame a função delegada
função cropViewController (_ cropViewController: TOCropViewController, didCropToImage image: UIImage, rect cropRect: CGRect, ângulo: Int)

Eu solucionei o problema

  • (vazio) cropViewController: (TOCropViewController *) cropViewController didCropImageToRect: (CGRect) cropRect ângulo: (NSInteger) ângulo

este método delegado será chamado mesmo se definir a área de cultivo como circular.
no delegado, eu uso o - (UIImage não nulo *) croppedImageWithFrame: (CGRect) ângulo do quadro: (NSInteger) ângulo circularClip: (BOOL) circular;
para recortá-lo para obter a imagem correta. mas precisa definir circularClip como false.

eu quero perguntar ao Tim, está certo?
o que agusguerra10 disse não é chamado no meu projeto. xcode9 swift4.

  • (vazio) cropViewController: (TOCropViewController *) cropViewController didCropToImage: (UIImage *) imagem comReto: (CGRect) ângulo cropRect: ângulo (NSInteger)
    Eu testei o código de exemplo também. não será chamado também se você definir o estilo circular

Não se preocupe @ agusguerra10! Sim, em retrospecto, não era uma grande lógica de base de padrões em quais métodos delegados o delegado implementava; isso causou um pouco de confusão. 😅

@ agusguerra10 Acabei de verificar o código para lidar com retornos de chamada delegados . Está correto. Se você implementar qualquer um dos métodos de delegado circular no modo circular, aquele que retorna uma imagem quadrada é ignorado.

Se você acha que isso deve ser alterado, pode ser melhor rastreá-lo em uma nova edição. Obrigado! :)

Esta página foi útil?
0 / 5 - 0 avaliações