2

画像が AspectFill (フルブリード) に設定されたフルスクリーンの UIImageView があります。Aspect Fill コンテンツ モードを使用しているときに、画像の表示部分のみを保存するにはどうすればよいですか?

CGRect visibleRect;   
visibleRect.size= mImageView.frame.size;
CGImageRef cropped_img = CGImageCreateWithImageInRect(mImageView.image.CGImage, visibleRect);
UIImage *finalImage = [[UIImage alloc]initWithCGImage:cropped_img];
UIImageWriteToSavedPhotosAlbum(finalImage, nil, nil, nil);

これは私の現在のコードであり、トリミングと保存が機能しますが、正しくトリミングされていません。何か案は?

4

1 に答える 1

1

これを試して:

UIGraphicsBeginImageContext(mImageView.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGImageRef image = CGBitmapContextCreateImage(context);
width = CGImageGetWidth(image);
height = CGImageGetHeight(image);
CGImageRef cropped_img = CGImageCreateWithImageInRect(image, CGRectMake(0, 0, width, height));

// 保存...

CGImageRelease(image);
UIGraphicsEndImageContext();
于 2013-09-04T03:38:00.827 に答える