TOKUNAGA Hiroyuki
tkng****@xem*****
2004年 12月 15日 (水) 05:15:44 JST
徳永です。 新しいGauche-cairoをリリースしました。Cairo(http://cairographics.org/)は 複数の出力先をサポートするベクトル描画ライブラリです。 下記URLからダウンロードできます。 http://xem.jp/~tkng/Gauche-cairo-0.1.0.tar.gz sha1sum: cfbaecd0297c04a68623ea4a8fecba86ce2a4ef5 Gauche-cairo-0.1.0.tar.gz ビルドにはCairoとGauche 0.8以上が必要です。Cairoもそれなりに新しくない とまずいかもしれません。 ドキュメントはまだほとんどないですが、 - 下線をハイフンで置き換える - cairo_tが<cairo>になっている の2点を覚えてsample.scmを見れば、とりあえず遊べると思います。PNGバック エンドとPSバックエンドしかサポートしていませんが、これに関しては将来的に も変わらないと思います。xlibやglitzをScheme側から使うのは大変なので。ア プリケーションをlibgaucheにリンクして、描画のロジック部分だけSchemeで書 く、というようなやり方は割と便利かもしれません。 Cでコードを書けば、GtkCairoと一緒に使えることは確認しました。以下はC言 語で書いた場合と対比した簡単なサンプルコードです。 Sample in C: cairo_t *cr = cairo_create(); FILE *fp = fopen(fp, "w"); cairo_surface_t *surface = cairo_png_surface_create(fp, CAIRO_FORMAT_ARGB32, 256 256); cairo_set_target_surface(cr, surface); /* draw something */ cairo_show_page(cr); fclose(fp); Sample in Scheme. (define cr (cairo-create)) (define port (open-output-file "test.png" :buffering :none)) (define surface (cairo-png-surface-create port CAIRO_FORMAT_ARGB32 512 512)) (cairo-set-target-surface cr surface) ;; draw something (cairo-show-page cr) (cairo-close-port p) もっと詳しい使用法に関してはsample.scmを見てください。 -- 徳永拓之 tkng****@xem***** http://kodou.net/