potrace源码分析一

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

 

posted @ 2015-05-12 16:16  weiwei22844  阅读(1415)  评论(0编辑  收藏  举报