目標: ズーム後に画像をトリミングする方法。(10,10,320,312) などの事前定義された座標でズームした後に画像をトリミングできますか。私のUIImageViewはこのサイズですか?
がありUIImageView
、UIScrollView
画像をズームできます。cropButton
表示されている画像を押したときにズームした後、UIImage
トリミングされます。サイズに等しい画像のサイズが必要UIImageView
です。
ありがとう !!
ズーム前 ズーム
およびクロップ後
私のコードはここにあります。
-(void)cropButtonClicked
{
//Calculate the required area from the scrollview
CGRect visibleRect;
float scale = 1.0f/scroll.zoomScale;
visibleRect.origin.x = scroll.contentOffset.x * scale;
visibleRect.origin.y = scroll.contentOffset.y * scale;
visibleRect.size.width = scroll.bounds.size.width * scale;
visibleRect.size.height = scroll.bounds.size.height * scale;
UIImage *image = [self imageByCropping:imageView.image toRect:visibleRect];
imageView.image=image;
}
- (UIImage*)imageByCropping:(UIImage *)myImage toRect:(CGRect)cropToArea{
CGImageRef cropImageRef = CGImageCreateWithImageInRect(myImage.CGImage, cropToArea);
UIImage* cropped = [UIImage imageWithCGImage:cropImageRef];
CGImageRelease(cropImageRef);
return cropped;
}
I use this logic.. Am I RIGHT? (May be i have to check my ScrollView programming)