UIImageView
移動/スケーリングできる があります ( ) self.imageForEditing
。この画像ビューの上に、穴が切り取られたオーバーレイがあります。これは静的で移動できません。ボタンが押されたときに穴から見える下の画像の部分だけを保存する必要があります。私の現在の試み:
- (IBAction)saveImage
{
UIImage *image = self.imageForEditing.image;
CGImageRef originalMask = [UIImage imageNamed:@"picOverlay"].CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(originalMask),
CGImageGetHeight(originalMask),
CGImageGetBitsPerComponent(originalMask),
CGImageGetBitsPerPixel(originalMask),
CGImageGetBytesPerRow(originalMask),
CGImageGetDataProvider(originalMask), nil, YES);
CGImageRef maskedImageRef = CGImageCreateWithMask(image.CGImage, mask);
UIImage *maskedImage = [UIImage imageWithCGImage:maskedImageRef scale:image.scale orientation:image.imageOrientation];
CGImageRelease(mask);
CGImageRelease(maskedImageRef);
UIImageView *test = [[UIImageView alloc] initWithImage:maskedImage];
[self.view addSubview:test];
}
テストとして、新しく作成した画像を画面の左上に追加しようとしています。理論的には、小さな丸い画像 (オーバーレイを通して見えた部分) になるはずです。しかし、私はイメージ全体を再び作成しています。私は何を間違っていますか?そして、移動できるという事実をどのように説明できますself.imageForEditing
か?