【问题标题】:How can I emboss a UIImage?如何压印 UIImage?
【发布时间】:2012-08-16 21:07:04
【问题描述】:

我有 UITableView,其中的单元格有图像。现在,我试图使图像在被选中时看起来像 UITabBarItem 图像。我打算按照这个小教程将图像剪辑成渐变。 http://mobiledevelopertips.com/cocoa/how-to-mask-an-image.html

我想对剪辑图像进行压印以赋予它更多生命,但无法找到如何使用 UIImage 进行此操作的简单说明。

我发现了这个,但我很难理解压花的过程。 http://javieralog.blogspot.com/2012/01/nice-emboss-effect-using-core-graphics.html

如果我能得到任何帮助或领导,将不胜感激。

【问题讨论】:

    标签: ios core-graphics


    【解决方案1】:

    除了 Core Graphics 实现和 NYXImagesKit,我的开源 GPUImage 框架中还有一个浮雕过滤器。要对 UIImage 进行浮雕,您可以简单地使用以下代码:

    GPUImageEmbossFilter *embossFilter = [[GPUImageEmbossFilter alloc] init];
    embossFilter.intensity = 2.0;
    UIImage *embossedImage = [embossFilter imageByFilteringImage:inputImage];
    

    【讨论】:

    • 您的框架是否适用于具有透明度的图像?我试图完成它以使我的图像看起来像 uitabbaritems。我有渐变,但它缺少深度。
    • @PhongLe - 是的,浮雕过滤器应该尊重源图像的 alpha 通道,所以如果你有一个透明的 UIImage,它应该保留它。
    • 酷,我正在尝试将您的框架添加到我的项目中,但是当它说:“您还需要找到框架头文件时,我有点迷失了,所以在您项目的构建设置集中从应用程序到 GPUImage 源目录中 framework/ 子目录的相对路径的 Header Search Paths。"
    • @PhongLe - 这总是会导致像这样的静态库出现问题。请参阅此答案中有关另一个需要类似以下内容的框架的照片:stackoverflow.com/questions/10260291/…。您还可以查看如何为我随框架提供的示例应用程序设置标题搜索路径,以了解其工作原理。
    • 谢谢,这正是我所需要的。带有 NYXImagesKit 的浮雕不适用于透明度。
    【解决方案2】:

    我写了一个名为Cocoa Touch - Adding texture with overlay view 的方法。你可能会觉得这很有帮助。它确实要求您有一个灰度叠加视图,可以生成“浮雕”外观。如果您了解 Photoshop 或其他图像编辑程序,则可以创建适当的叠加层来满足您的需求。

    【讨论】:

      【解决方案3】:

      经过长时间的谷歌搜索。我相信我找到了我需要的东西。 这是一组允许您轻松操作 UIImage 的类别。

      http://www.cocoaintheshell.com/2012/01/nyximagesutilities-nyximageskit/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-24
        • 1970-01-01
        • 1970-01-01
        • 2012-07-19
        • 2011-08-11
        • 2014-10-23
        • 1970-01-01
        相关资源
        最近更新 更多