Cairo是著名的图形引擎,通常但凡著名的东西都有它可取之处。于是乎拿来研究一下,研究的首要工作当然是编译它的源代码。综合考虑,在Windows的VS下编译,整个过程如下,详见参考资料1。
如果严格按照参考资料1编译的话应该是不会遇到太大的问题的,要注意的是该文中有些小错误,不过无大碍。这里,我就将我注意到的要点说一下。
1. 编译zlib的时候需要手动编译zlib-1.2.5/contrib/masmx86目录然后将生成的文件拷贝到源代码目录,该目录下有说明文件,可供参考.
2. 编译pixman的时候,需要下载Mozilla Build和Windows 7 SDK,还好我机器上装了SDK,故只安装了Mozilla Build就顺利编过了,Mozilla Build大概80MB。
3. Cairo编译完后,你需要写个Hello World试一下。建个VS工程,然后输入如下代码:
#include <cairo.h> int main (int argc, char *argv[]) { cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 240, 80); cairo_t *cr = cairo_create (surface); cairo_select_font_face (cr, "serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD); cairo_set_font_size (cr, 32.0); cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); cairo_move_to (cr, 10.0, 50.0); cairo_show_text (cr, "Hello, world"); cairo_destroy (cr); cairo_surface_write_to_png (surface, "hello.png"); cairo_surface_destroy (surface); printf("Create hello.png file ok./n"); return 0; }
如果能生成hello.png图片,表示hello world正常。Cairo网站的布局有点乱,此段代码摘自参考资料2。
参考资料
1. Compiling Cairo for Windows
2. Frequently Asked Questions(Cairo)