-2

重複の可能性:
UIImage のトリミング

私は1つのUIImageビューを持っています。そのUIImageビューのスペースを切り取る必要があり、Uiimageとして保存する必要があります。そして、画像を保存した別のビューに渡します。

4

2 に答える 2

0

Core Graphics 関数を使用して画像をトリミングする方法はいくつかありますが、最も基本的な方法は次のとおりです。

CGRect cropRect = CGRectMake(0, 0, 100, 100);
CGImageRef cropped_img = CGImageCreateWithImageInRect(yourUIImage.CGImage, cropRect)

また、以下のチュートリアルを確認してください

iOS で画像 (UIImage) をトリミングする方法

于 2013-01-31T11:48:28.223 に答える
0

これは役立つかもしれません。それは主に私のコードからのコピーと貼り付けです。

元の画像を含む大きな UIImageView があります - mImageViewCropper、次に半透明のビューがあり、次に小さな UIImageView がオーバーレイされます - mImageViewCropperSmallWindow。(インスタグラムのクロッパーのようです)

pinchGesture と panGesture では、小さな imageView のサイズを変更してから、次の関数を呼び出します。この関数は、大きな画像から対応するトリミングされた画像を小さな imageView に読み込みます。

-(void)refreshImageInMImageViewCropperSmallWindow
{
    double imageBeginX = 0; //we need to set these because of possible ratio mismatch (black stripes)
    double imageEndX = 0;
    double imageBeginY = 0;
    double imageEndY = 0;
    CGSize imageSize = mImageViewCropper.image.size;
    imageBeginX = mImageViewCropper.frame.size.width /2 - imageSize.width/2;
    imageEndX = mImageViewCropper.frame.size.width /2 + imageSize.width/2;
    imageBeginY = mImageViewCropper.frame.size.height /2 - imageSize.height/2;
    imageEndY = mImageViewCropper.frame.size.height /2 + imageSize.height/2;

    CGRect smallFrame = mImageViewCropperSmallWindow.frame;

    UIImage *croppedImage = [mImageViewCropper.image crop: CGRectMake(smallFrame.origin.x - imageBeginX, smallFrame.origin.y - imageBeginY, 
    smallFrame.size.width, smallFrame.size.height)];
    mImageViewCropperSmallWindow.image = croppedImage;        
}

-この方法は完璧にはほど遠いですが、出発点です

于 2013-01-31T11:59:56.953 に答える