0

我是 iOS 开发新手。谷歌搜索后我发现,很容易模糊整个图像,但很难模糊图像的特定部分,如矩形或圆形。所以请帮助我如何模糊图像的特定部分而不是整个图像?

提前致谢。

4

1 回答 1

1

模糊整个图像,然后裁剪到您关心的部分。您可以为非矩形/非锐边模糊使用蒙版,但不要跳过裁剪。

Core Image 可爱但有时很棘手的一点是它非常懒惰。从头到尾都行不通;它更像是一个拉模型,从您要求的最后一件事一直到原始栅格。此外,它实际上不会过滤您没有要求的任何像素。

因此,在您的情况下,裁剪意味着不要求裁剪之外的任何模糊像素。由于您没有要求它们,因此它们不会变得模糊。模糊仅在您要求的像素上运行 - 裁剪内的像素。

掩蔽的工作方式不同;根据定义,它需要查看掩码图像中的每个像素,如果它不查看源中的每个像素(甚至将其乘以零),我会感到惊讶。这就是为什么你仍然应该裁剪,即使戴着面具。

请注意,图像的模糊和裁剪部分仍将位于原始图像中的位置。它不会复制/移动图像中的像素,因为那样会很昂贵;相反,它返回一个具有不同范围的图像——即裁剪矩形。您需要检索该范围并从要绘制图像的坐标中减去其原点 - 要么使用仿射变换过滤器,要么使用仿射变换过滤器,但同样,这可能会很昂贵。

于 2012-12-10T19:35:29.153 回答