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

前端之家收集整理的这篇文章主要介绍了iOS:概述部分透明图像的不透明部分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序,要求在部分透明的UI Image周围绘制一个纯黑色轮廓.不在图像的框架周围,而是围绕图像本身的所有不透明部分.即,想到一个透明的PNG,上面有一个不透明的白色“X” – 我需要用黑色勾勒出“X”.

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

我目前的技术是这样的:

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

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

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

有什么好主意吗?

猜你在找的iOS相关文章