我试图在复制我的photoshop模型的UIImage上做高斯模糊。模糊界限之外的UIImage(Photoshop风格)
希望的行为: 在Photoshop中,当我运行高斯模糊滤镜时,由于边缘模糊,图像层变大。
观察到的行为:使用GPUImage,我可以成功地模糊我的UIImages。但是,新图像在原始边界处裁剪,从而留下了一个硬边缘。
设置UIImageView.layer.masksToBounds = NO;
没有帮助,因为图像被裁剪而不是视图。
我也尝试将UIImage放在较大的清晰图像上,然后调整大小。这也没有帮助。
有没有办法实现这种“Photoshop风格”模糊?
更新工作方案感谢布拉德·拉森:
UIImage sourceImage = ...
GPUImagePicture *imageSource = [[GPUImagePicture alloc] initWithImage:sourceImage];
GPUImageTransformFilter *transformFilter = [GPUImageTransformFilter new];
GPUImageFastBlurFilter *blurFilter = [GPUImageFastBlurFilter new];
//Force processing at scale factor 1.4 and affine scale with scale factor 1/1.4 = 0.7
[transformFilter forceProcessingAtSize:CGSizeMake(SOURCE_WIDTH * 1.4, SOURCE_WIDTH * 1.4)];
[transformFilter setAffineTransform:CGAffineTransformMakeScale(0.7, 0.7)];
//Setup desired blur filter
[blurFilter setBlurSize:3.0f];
[blurFilter setBlurPasses:20];
//Chain Image->Transform->Blur->Output
[imageSource addTarget:transformFilter];
[transformFilter addTarget:blurFilter];
[imageSource processImage];
UIImage *blurredImage = [blurFilter imageFromCurrentlyProcessedOutputWithOrientation:UIImageOrientationUp];
当你“试图将UIImage放在一个更大的清晰图像中心模糊”之前,你的意思是你将原始图像合并成一个更大的UIImage,所以它是一个图像?如果是这样,请尝试使用白色图像而不是清晰图像,并确保白色图像具有Alpha通道。我怀疑清晰的图像没有字母,因此结果看起来很剪辑。 – bobnoble