私はUIGestureRecognizersを使用して、uiimageviewを使用して画像を回転およびサイズ変更しています。今問題は、UIImageView transform(CGAffineTransform)プロパティから新しいサイズのイメージを取得する必要があることです。 StackOverFlowでこのコードが見つかりましたが、適切な値が返されていません。画像ビューはサイズ変更されるだけでなく回転されるのでだから私の質問は、回転し、サイズ変更されたUIImageViewの変換プロパティから新しいサイズと位置を取得する方法ですか?CGAffineTransformを適用した後で、imageviewから新しいサイズの画像を取得します。
CGRect newRect = CGRectApplyAffineTransform(self.imageView.bounds, self.imageView.transform);
誰でも手助けできます。
おかげ
ANSWER OKは、私が修正を発見しました。サイズ計算に問題を生じさせる主なものは回転でした。だからここで何を確認したのですか?アップルdocから
CGFloat angle = atan2(self.imageView.transform.b, self.imageView.transform.a);
CGAffineTransform tempTransform = CGAffineTransformRotate(self.imageView.transform, -angle);
CGRect newRect = CGRectApplyAffineTransform(CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height), tempTransform);
おかげで皆
ありがとう!しかし、私はすでに試してみましたが、この関数は幅を正しく返しますが、高さの値は正確ではありません。何か案が? – andy
こんにちは、これは私の助けてください@ジョナサンNaguinの答えを取得しました – Babul