0

目標: ズーム後に画像をトリミングする方法。(10,10,320,312) などの事前定義された座標でズームした後に画像をトリミングできますか。私のUIImageViewはこのサイズですか?

がありUIImageViewUIScrollView画像をズームできます。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)
4

1 に答える 1

2

このコードがあなたのためにフルに使えますように..!!

CGSize itemSize = CGSizeMake(newWidth, newHeight);<br>
UIGraphicsBeginImageContextWithOptions(itemSize, NO, 0);<br>
CGRect imageRect = CGRectMake(0, 0, newWidth, newHeight);<br>
[image drawInRect:imageRect];<br>
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();<br>
UIGraphicsEndImageContext();
于 2012-07-03T07:10:32.040 に答える