簡體   English   中英

CIFilter + UIImage + alpha蒙版

[英]CIFilter + UIImage + alpha mask

我正在使用這樣的解決方案用一些alpha繪圖掩蓋我的UIImage掩蓋UIImage

問題是后來我想申請一些CIFilters 但是,當我更改過濾器的值時,我的alpha會從UIImage丟失。 每次修改CIFilter后,是否必須重新應用alpha通道輸出圖像? 這肯定會使這個過程慢得多。

代碼示例:(每個新段落采用另一種方法)

// set the image
_image = [incomeImage imageWithMask:_mask]; // imageWithMask from method from link
[_myView.imageView setImage:_image];

// calculate ciimages
_inputCIImage = [[CIImage alloc] initWithCGImage:_image.CGImage options:nil];
_myView.imageView.image = _image;
_currentCIImage = _inputCIImage;

// change value in filter
[filter setValue:@(0.2f) forKey:@"someKey"];
[filter setValue:_inputCIImage forKey:kCIInputImageKey];
_currentCIImage = [filter outputImage];
CGImageRef img = [_context createCGImage:_currentCIImage fromRect:[_currentCIImage extent]];
UIImage *newImage = [UIImage imageWithCGImage:img];

你只能使用CIFilters來做到這一點。 而不是使用的imageWithMask可以使用CIBlendWithMask CIFilter。 Apple CIFilter參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM