cairoをWindowsで直接使う #3
cairoの公式ページのFAQにあるPNGファイル出力のような形に変更するのも簡単である。
--- cairotest1.c # +++ cairotest2.c # @@ -1,13 +1,13 @@ #include <cairo.h> -#include <cairo-pdf.h> void draw_hello(cairo_surface_t *surf); int main (void) { - cairo_surface_t *surf = cairo_pdf_surface_create("hello.pdf", 841.68, 595.44); + cairo_surface_t *surf = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 860, 490); draw_hello(surf); + cairo_surface_write_to_png(surf, "hello.png"); cairo_surface_destroy(surf); return 0; }
描画するサーフェスを変更して、ファイルに書き込むコードを加えるだけである。
サーフェスに対する描画部分draw_hello()はサーフェスの種類に無関係で変更は必要ない。
PDFサーフェスはサーフェスの属性として出力ファイルが指定されているが、
PNG出力は内部イメージサーフェスに描画された内容をPNGファイルとして出力する形になる。