我有一个应用程序,要求在部分透明的UI
Image周围绘制一个纯黑色轮廓.不在图像的框架周围,而是围绕图像本身的所有不透明部分.即,想到一个透明的PNG,上面有一个不透明的白色“X” – 我需要用黑色勾勒出“X”.
为了使问题更棘手,在绘制轮廓之后,将调整原始图像的不透明度,但轮廓必须保持不透明 – 因此我生成的轮廓必须仅包括轮廓,而不包括原始图像.
我目前的技术是这样的:
>创建一个具有原始图像尺寸的新UIView.
>复制UIImage 4次并将重复项添加为UIView的子视图,每个UIImage从原始位置沿对角线偏移几个像素.
>将UIView转换为图像(通过典型的UIGraphicsGetImageFromCurrentImageContext方法).
>使用CGImageMaskCreate和CGImageCreateWithMask,从这个新图像中减去原始图像,这样只剩下轮廓.
有用.即使只有4个偏移图像,结果看起来也很不错.然而,它的效率非常低,并且在iPhone 4上造成了4秒的良好稳定延迟.
所以我需要的是一个很好,快速,有效的方法来实现同样的东西,iOS 4.0完全支持.
有什么好主意吗? 原文链接:/iOS/332009.html