博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
potrace源码分析一
阅读量:6676 次
发布时间:2019-06-25

本文共 663 字,大约阅读时间需要 2 分钟。

1 简介

potrace是由Dalhousie University的Peter Selinger开发一款位图轮廓矢量化软件,该软件源码是可以公开下载的,详细见项目主页:http://potrace.sourceforge.net/,作者的论文也已有人翻译成中文见:http://blog.csdn.net/linxinboy/article/details/19020917。

2 总体架构

2.1 主函数main

主函数main主要包括两个主要功能函数dopts和process_file,前者用于处理用户提供的程序参数,后者用于处理输入的bmp文件并将结果写入到相应的输出文件,后边主要对process_file进行剖析。

2.2 process_file

 该函数实现了程序的主要功能,仍然按照4个主要的功能函数对该部分进行分析。

2.2.1 bm_read

 该函数读取输入位图文件,并根据位图文件生成potrace_bitmap_t结构体,该结构体保存着原始位图的宽高信息及原图的二值化数据,注意这里的二值化数据0表示白色背景1表示黑色前景。

2.2.2 potrace_trace

 该函数中有两个主体功能函数bm_to_pathlist和process_path,前者由二值化后的位图数据得到path_t结构体,后者进一步处理该结构体!

2.2.3 calc_dimensions

 

2.2.4 page_f

 

转载于:https://www.cnblogs.com/zhaoweiwei/p/potrace1.html

你可能感兴趣的文章
Android学习笔记(十)——ListView的使用(上)
查看>>
NodeList对象的特点
查看>>
【转载】【原创】生命中,要有自己的一方晴天
查看>>
JQuery操作CheckBox和Radio
查看>>
快速求幂
查看>>
gulp初学
查看>>
JS设置localStorage有效期
查看>>
Ajax常用写法
查看>>
测试用例设计-WEB通用测试用例
查看>>
53、listview、expandableListview如何选中时保持高亮?
查看>>
js中将数字和字符串相互转换的方法(转自脚本之家www.jb51.net)
查看>>
centos6.5-VMware虚拟机-双网卡绑定
查看>>
scala言语基础学习二
查看>>
《团队-科学计算器-项目总结》
查看>>
理解单例模式
查看>>
从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑...
查看>>
软件工程结对作业01
查看>>
JZ-C-26
查看>>
Ng线性回归实现学习[转载]
查看>>
express的proxy实现前后端分离
查看>>