从位图轮廓创建NSBezierPath

5

我想创建一个NSBezierPath对象,该对象对应于任意位图图像的轮廓。

我的所有图像都是带有透明背景的png实心单色形状。这里是一个例子:

实心挂锁形状的位图图像

我想要形状轮廓的贝塞尔路径。如何最好地实现此目标?


请注意,路径不必在图像中的曲线处完美地呈现出曲线。粗糙的、逐像素的再现即可。 - Nick Moore
1个回答

7
你需要的是一个描迹/矢量化算法。 DrawKit 似乎支持位图到矢量的描迹:
- DKImageShape+Vectorization.m - NSImage+Tracing.m 一些其他(非ObjC)实现描迹的开源项目(供参考): 任何一个使用过Illustrator(或其竞争对手)的描迹工具的人都可以向您保证,描迹是一件非常复杂的事情。但对于您的简单黑白图像(技术上是灰度图像,由于抗锯齿而可以忽略不计),几乎任何算法都可以解决问题。特别是如果您甚至不需要完美的曲线拟合,正如您所指出的那样。

DrawKit已经不存在了。它现在在这里:https://github.com/DrawKit/DrawKit - AlexK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接