Ios CoreImage CIHardLightBlendMode问题

Ios CoreImage CIHardLightBlendMode问题,ios,core-image,Ios,Core Image,我想使用filter CIHardLightBlendMode,但它似乎无法按照苹果网站上的说明工作: 如果源图像采样颜色小于50%灰色,则 背景变亮,类似于加网。如果源图像 样本颜色比50%灰色暗,背景变暗, 类似于乘法。如果源图像采样颜色等于 50%灰度,源图像不变 我尝试了一个50%的灰度叠加图像,结果更暗。 我用73%的灰色试过,几乎没有影响(50%应该是这样) 问题是,我有很多现有的覆盖图像,我目前使用ImageMagick,它工作正常(覆盖图像也可以在Photoshop或Gimp上使

我想使用filter CIHardLightBlendMode,但它似乎无法按照苹果网站上的说明工作:

如果源图像采样颜色小于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);
谢谢