#:g1: Vecto

Posted 2012-12-03 15:23:00 GMT

この投稿はCommon Lisp Libraries Advent Calendar 2012の4日目の記事です。
約5年前にVectoを試してみた簡単な紹介記事を書いたのですが、5年経過した今、再度検証しつつアップデートしてみました。
VectoはCL-VECTORSの簡便なインターフェースを提供するものだそうで、これを利用して簡単にベクター画像をpngファイルとして出力することができます。

パッケージ名 vecto
作者 Zach Beane氏
本拠地サイト (http://www.xach.com/lisp/vecto/)
Cliki (http://www.cliki.net/Vecto)
Quicklisp

インストール

(ql:quickload :vecto)一発で、インストール完了です。

試してみる。

手頃な感じで、綺麗な画像が作れるので、これは重宝するかもしれません。
;; 動作
;; Ubuntu 12.4 x86_64

(defpackage #:vecto-examples (:use #:cl #:vecto)) (in-package #:vecto-examples)

(with-canvas (:width 400 :height 30) (let ((font (get-font "/usr/share/fonts/truetype/takao-gothic/TakaoGothic.ttf")) (file "/var/tmp/vecto.png")) (set-rgb-fill 0.95 0.60 0.25) (rounded-rectangle 0 0 400 30 5 5) (fill-path) (set-rgb-fill 1.0 0.65 0.3) (rounded-rectangle 2.5 2.5 395 25 5 5) (fill-path) (set-font font 20) (set-rgb-fill 0 0 0) (draw-string 2.5 7.5 "CL Library Advent Calendar(`・ω・´)") (save-png file)))

まとめ

5年前と比べると、インストールはQuicklisp一発になっています。以前もasdf-installに対応していたので難易度的にはそれ程変わりませんが、asdf-installの導入がちょっと手間だった記憶もありますね。
Quicklisp素晴らしい!!

comments powered by Disqus