我使用UIGestureRecognizers旋轉圖像並使用uiimageview調整圖像大小。現在的問題是我需要從UIImageView變換(這是CGAffineTransform)屬性獲取圖像的新大小。我在StackOverFlow中發現了這個代碼,但它沒有返回正確的值。由於imageview不僅可以調整大小,而且可以旋轉。所以我的問題是如何從旋轉和調整大小的UIImageView的transform屬性中獲取新的大小和位置?應用CGAffineTransform後從圖像中獲取圖像的新大小
CGRect newRect = CGRectApplyAffineTransform(self.imageView.bounds, self.imageView.transform);
任何人都可以幫忙嗎?
感謝
ANSWER OK,我找到了解決。造成尺寸計算問題的主要原因是旋轉。那麼在這裏檢查了一下。
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 2012-04-24 16:12:28
嗨,你有沒有得到答案,請幫助我@Jonathan Naguin – Babul 2012-12-10 11:46:31