ios – 在界限之外模糊UIImage(Photoshop风格)

ios – 在界限之外模糊UIImage(Photoshop风格),第1张

概述我试图在复制我的photoshop模型的UI Image上进行高斯模糊. 期望的行为: 在Photoshop中,当我运行高斯模糊滤镜时,由于边缘模糊,图像层会变大. 观察到的行为:使用GPUImage,我可以成功模糊我的UIImages.但是,新图像在原始边界处被裁剪,一直留下硬边. 设置UIImageView.layer.masksToBounds = NO;没有帮助,因为图像被裁剪而不是视图. 我试图在复制我的photoshop模型的UI Image上进行高斯模糊.

期望的行为:
在Photoshop中,当我运行高斯模糊滤镜时,由于边缘模糊,图像层会变大.

观察到的行为:使用GPUImage,我可以成功模糊我的UIImages.但是,新图像在原始边界处被裁剪,一直留下硬边.

设置UIImageVIEw.layer.masksToBounds = NO;没有帮助,因为图像被裁剪而不是视图.

我还尝试在模糊之前将UIImage置于较大的清晰图像上,然后调整大小.这也没有帮助.

有没有办法实现这种“Photoshop风格”模糊?

更新工作解决方案感谢Brad larson:

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];
解决方法 GPUImage只会生成一个处理到图像极限的结果.为了扩展您的图像,您需要扩展它运行的画布.

为此,您需要将图像提供给GPUImagetransformFilter,然后使用-forceProcessingAtSize:或-forceProcessingAtSizeRespectingAspectRatio:来扩大工作区域.但是,这也会默认放大图像,因此要对此进行处理,请使用GPUImagetransformFilter进行缩放变换,以减小图像相对于较大区域的大小.这将使其保持相同的像素尺寸,同时将其放置在更大的整体图像中.

然后,您需要做的就是将此输出提供给模糊滤镜,模糊现在将延伸到原始图像的边缘.强制图像的大小取决于模糊需要延伸到原始图像边缘的距离.

总结

以上是内存溢出为你收集整理的ios – 在界限之外模糊UIImage(Photoshop风格)全部内容,希望文章能够帮你解决ios – 在界限之外模糊UIImage(Photoshop风格)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1103661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存