微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iOS:概述部分透明图像的不透明部分

我有一个应用程序,要求在部分透明的UI Image周围绘制一个纯黑色轮廓.不在图像的框架周围,而是围绕图像本身的所有不透明部分.即,想到一个透明的PNG,上面有一个不透明的白色“X” – 我需要用黑色勾勒出“X”.

为了使问题更棘手,在绘制轮廓之后,将调整原始图像的不透明度,但轮廓必须保持不透明 – 因此我生成的轮廓必须仅包括轮廓,而不包括原始图像.

我目前的技术是这样的:

>创建一个具有原始图像尺寸的新UIView.
>复制UIImage 4次并将重复项添加为UIView的子视图,每个UIImage从原始位置沿对角线偏移几个像素.
>将UIView转换为图像(通过典型的UIGraphicsGetimageFromCurrentimageContext方法).
>使用CGImageMaskCreate和CGImageCreateWithMask,从这个新图像中减去原始图像,这样只剩下轮廓.

有用.即使只有4个偏移图像,结果看起来也很不错.然而,它的效率非常低,并且在iPhone 4上造成了4秒的良好稳定延迟.

所以我需要的是一个很好,快速,有效的方法来实现同样的东西,iOS 4.0完全支持.

有什么好主意吗?

原文地址:https://www.jb51.cc/iOS/332009.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐