复制Photoshop"乘法效果"

Saf*_*ari 3 c++ iphone photoshop imagemagick objective-c

如何使用Image Magick库或iphone的obj-c代码复制Photoshop"Multiply effects"?我在哪里可以找到一些示例代码?我也看到了这个问题

Bra*_*son 8

如果你想要一个简单的方法,我的GPUImage框架有它的GPUImageMultiplyBlendFilter,它接收两个图像,并为每个像素执行红色,绿色,蓝色和alpha通道乘法.它以GPU加速的方式实现,因此它比在CPU上执行相同的操作快4-6倍.

要使用此功能,请将两个图像设置为混合:

UIImage *inputImage1 = [UIImage imageNamed:@"image1.jpg"];    
GPUImagePicture *stillImageSource1 = [[GPUImagePicture alloc] initWithImage:inputImage1];

UIImage *inputImage2 = [UIImage imageNamed:@"image2.jpg"];    
GPUImagePicture *stillImageSource2 = [[GPUImagePicture alloc] initWithImage:inputImage2];
Run Code Online (Sandbox Code Playgroud)

然后创建和配置混合滤镜:

GPUImageMultiplyBlendFilter *blendFilter = [[GPUImageMultiplyBlendFilter alloc] init];
[inputImage1 processImage];
[inputImage1 addTarget:blendFilter];
[inputImage2 addTarget:blendFilter];
[inputImage2 processImage];
Run Code Online (Sandbox Code Playgroud)

最后提取混合图像结果:

UIImage *filteredImage = [blendFilter imageFromCurrentlyProcessedOutput];
Run Code Online (Sandbox Code Playgroud)

在其当前实现中的一个警告是,早于iPad 2的设备具有有限的纹理尺寸,因此现在不能在这些旧设备上处理大于2048x2048的图像.我正在努力解决这个问题.