0

我正在编写的应用程序涉及具有轻微噪声过滤器纹理的按钮,可以是任何大小。对于标准按钮,我会简单地使用resizableImageWithCapInsets:,但由于纹理的原因,这会导致生成的按钮上出现不寻常的伪影。

我想到的一个解决方案是使用核心图像单色滤镜与随机噪声滤镜相结合,将噪声纹理添加到普通图像中。理论上这是可行的,实际上这已被证明是可行的(这里有一个示例),但这些都是在调用 CI 代码时知道按钮大小的情况。

我想要做的是使用外观代理,所以在整个应用程序中我可以简单地设置UIBarButtonItems例如样式。

有没有办法可以通过外观代理将这些 CI 过滤器应用于按钮,或者这不可能吗?像 UIImage 上的类别可以添加噪音吗?我不完全确定外观代理实际上会在什么时候调用该代码。

任何帮助表示赞赏

4

1 回答 1

0

好的所以我终于解决了它,但在途中发现了一些东西。

看来您可以在 UIImage 上创建一个类别并在外观代理中使用它。我创建了一个类别来添加噪声,它似乎部分工作,但我无法让它看起来像我想要的那样,因为它没有完全正确渲染,但在编码过程中发现了另一种方法

resizableImageWithCapInsets:resizingMode:

因为我处理的纹理只是噪声,它可以平铺,所以现在不是拉伸图像,而是平铺图像的中心,这给了我需要的外观:)

于 2013-09-12T21:44:47.640 回答