0
我有一個可以移動/縮放的UIImageView
(self.imageForEditing
)。在這個圖像視圖的頂部,我有一個帶有切口的覆蓋層,它是靜態的,不能移動。在按下按鈕時,我需要保存底層圖像的一部分,這些圖像在洞中可見。我目前的嘗試:如何使用掩碼保存UIImage
- (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
可以移動?