我使用GPUImage
来模糊圆形图像。在图像上,我有圆形"框架"图片。问题是模糊使图像伸展到原始帧图像的边界之外。
我可以用(CALayer
,cornerRadius
然后maskToBounds
)来掩盖图像,但是当我有很多这些图像时,这真的很慢。
是否可以快速使用GPUImage
屏蔽模糊图像?
感谢。
GPUImageGaussianBlurFilter *blurFilter = [GPUImageGaussianBlurFilter new];
blurFilter.blurRadiusInPixels = 15;
self.blurryThumbNail.image = [blurFilter imageByFilteringImage:self.profileImage.image];
答案 0 :(得分:3)
有一个方便的过滤器:GPUImageGaussianBlurPositionFilter
指定 blurCenter 和 blurSize 。请注意,坐标介于0.0和1.0之间。
GPUImageGaussianBlurPositionFilter
是GPUImageFilterGroup
的子类,基本上它是一个2步过滤器。首先,它使用GPUImageGaussianBlurFilter
(您正在使用的那个)应用模糊,然后使用指定的参数将结果与原始未模糊的结果组合。
有一篇有趣的文章介绍了当前GPUImageGaussianBlurFilter
在Brad Larson博客here上的实施情况