UIImage 边缘周围的高性能轮廓

时间:2021-07-25 08:57:31

标签: ios swift graphics uiimage core-graphics

我正在尝试围绕 UIImage 的边缘绘制轮廓 - 实现如下所示的轮廓效果:

enter image description here

据我所知,最好的解决方案是创建原始图像的副本,填充所需的轮廓颜色并将其绘制在原始图像的后面,并可能循环遍历图像角度并重新绘制以圆润边缘粗糙。
目前,我正在使用建议的解决方案 here(@Stéphane de Luca),但问题是这个解决方案对于我的需求来说非常慢,因为我需要用滑块控制轮廓宽度。

所以,基本上我需要找到不同的轮廓算法或找到一种方法来优化当前解决方案的性能。
我为优化性能所做的尝试:

  • 缩小图像 - 有帮助但还不够,因为为了获得高质量,绘图仍然会发生很多次
  • 一次绘制高质量,然后以较低质量重新渲染以减少绘制次数 - 获得意想不到的、不一致的轮廓结果
  • 我正在考虑创建一次彩色图像并根据轮廓宽度值以某种方式对其进行缩放,但我不确定如何准确地处理它。

我将不胜感激,无论是提出不同的算法/概述技术还是优化当前解决方案以实现高性能和快速值变化的潜在方法。

0 个答案:

没有答案