【问题标题】:Create NSBezierPath from bitmap outline从位图轮廓创建 NSBezierPath
【发布时间】:2016-07-08 08:17:15
【问题描述】:

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

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

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

【问题讨论】:

  • 请注意,在图像中有曲线的地方,路径不一定要有完美的曲线。锯齿状的逐像素再现就可以了。

标签: objective-c cocoa nsbezierpath


【解决方案1】:

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

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

其他一些(非 ObjC)开源项目实现了追踪(供代码参考):

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多