CoreImage CIHardLightBlendMode问题

时间:2013-01-18 13:08:29

标签: ios core-image

我想使用过滤器CIHardLightBlendMode,但它似乎不像Apple网站上解释的那样工作:

  

如果源图像样本颜色浅于50%灰色,则   背景减轻了,类似于筛选。如果是源图像   样品颜色深于50%灰色,背景变暗,背景变暗,   类似于乘法。如果源图像样本颜色等于   50%灰色,源图像未更改

我尝试使用50%灰色叠加图像,结果更暗。 我尝试过73%的灰色并且几乎没有影响(因为它应该是50%)

问题是我有很多现有的叠加图像,我目前使用ImageMagick并且它正常工作(叠加图像也可以在Photoshop或Gimp上使用硬灯叠加模式工作) 为了更快地处理图像,我想使用CoreImage,但它没有像我期望的那样工作。

如何解释过滤器?

这是我的代码:

CIContext *context = [CIContext contextWithOptions:nil];
CIImage *sourceImage = [CIImage imageWithContentsOfURL:[NSURL fileURLWithPath:imgSource]];
CIImage *overlayImage = [CIImage imageWithContentsOfURL:[NSURL fileURLWithPath:imgOverlay]];
CIImage *outputImage;

CIFilter *filter = [CIFilter filterWithName:@"CIHardLightBlendMode"];
[filter setDefaults];
[filter setValue:overlayImage forKey:kCIInputImageKey];
[filter setValue:sourceImage forKey:kCIInputBackgroundImageKey];
outputImage = [filter outputImage];

CGImageRef cgimg = [context createCGImage:outputImage fromRect:[outputImage extent]];
self.processedImage = [UIImage imageWithCGImage:cgimg];
CGImageRelease(cgimg);

由于

0 个答案:

没有答案