[转] [Flash/Flex] as3位图绘制器(矢量器):as3potrace

曾想过在flash中运行时将一个位图转换成矢量图,不要再观望了。我来给你介绍as3potrace,一个描摹位图的as3类库。
顾名思义,这是一个著名的端口由Peter Selinger编写的名为Potrace的C语言类库。更准确的说,它是Vectorization中as3端口,Vectorization是由Wolfgang Nagl编写的potrace 1.8版本中的C#端口。
和potrace一样,as3potrace是基于GPL发布的。它的SWC库和源码都可以在GitHub(https://github.com/PowerflasherBR/as3potrace)上得到。
示例:


示例源码:https://gist.github.com/940219 (提示:很难看)
使用示例
一个如何用as3potrace描摹一张位图并把结果绘进shape的小小示例

  1. var gd:Vector.<IGraphicsData> = new Vector.<IGraphicsData>();
  2. gd.push(new GraphicsStroke(1, false, LineScaleMode.NONE, CapsStyle.ROUND, JointStyle.ROUND, 3, new GraphicsSolidFill(0x00ff00, 1)));

  3. var potrace:POTrace = new POTrace();
  4. potrace.backend = new GraphicsDataBackend(gd);
  5. potrace.potrace_trace(bitmap.bitmapData);

  6. graphics.drawGraphicsData(gd);
复制代码
请注意,您可以编写自己的处理类,以纾缓处理/生成的图形处理。我已经写了一个名为GraphicsDataBackend类,它创建了GraphicsData结构,你可以立即使用Graphics.drawGraphicsData()方法来绘制。

可选方案
和往常一样,当我完成这个小美人移植,我发现这已经被amazing folks在LibSpark上完成了。检出nitoyon的 PotrAs(它同样是基于GPL发布的)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值