objective-c - 从位图轮廓创建 NSBezierPath

标签 objective-c cocoa nsbezierpath

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

我所有的图像都是具有透明背景的 png 固体单色形状。这是一个例子:

Bitmap image of solid padlock shape

我想要形状轮廓的贝塞尔曲线路径。实现这一目标的最佳方法是什么?

最佳答案

您正在寻找的是跟踪/矢量化算法

DrawKit似乎支持位图到矢量跟踪:

其他一些(非ObjC)实现追踪的开源项目(代码引用):

任何曾经使用过 Illustrator(或其任何竞争对手)的描摹工具的人都可以向您保证描摹是一件非常重要的事情。但是对于简单的黑白图像(技术上 graysacle,由于抗锯齿,但在这里可以忽略不计)几乎任何算法都可以解决问题。特别是如果您甚至不需要完美的曲线拟合,正如您所指出的那样。

关于objective-c - 从位图轮廓创建 NSBezierPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5259268/

相关文章:

objective-c - NSTableView:创建 "Overlapping"行

iPhone:如何将包含公钥位的 SecKeyRef 或 NSData 导出为 PEM 格式?

ios - 使用呈现的键盘弹出 UIViewController

objective-c - 是否可以将 NSTableview "wrap"单元格放入新列?

cocoa - 如何打开文件夹?

objective-c - NSBezierPath 上的剥离描边

cocoa - NSBezierPath 描边颜色错误

macos - cocoa 绘图错误 : "invalid context 0x0"

iphone - Objective-C : Multiple delegates

iOS 9 Spotlight 搜索与 CoreSpotlight : cannot replace thumbnail