Cairomm、やろうぜ!
注意 : この記事は UNIX/Linux 系OSでのビルドを想定しています。
Windowsではできないかもしれません。Macでは知りません(が、参考にはできるはずです)。
概要
C製描画ライブラリCairoのC++ラッパー、Cairommの日本語入門帳かつ個人的備忘録です。
Cairoは環境や用途に依存しない使い方ができて、実際画像/PDFビュワーやウインドウアプリケーション等、結構色んな所で採用されています。あなたにも是非触ってみてほしい!
では、まず環境構築/ビルドからやろうぜ。
環境構築
2つ方法があります。
1.makeを使う
ほやほやの最新版をインストールできます。
1.まず、cairo公式サイトにアクセスし、ダウンロード/解凍しましょう。
https://www.cairographics.org/cairomm/
(ダウンロードページは : https://www.cairographics.org/releases/ 上記URLから探してね)
2.コンソールで解凍ファイルにカレントディレクトリを移し、ディレクトリ内のINSTALL
ファイルを参考にしながら作業をしていきます。
全文は長すぎるのでここでは省略しますが、簡単な流れとしては
$ ./configure
$ make
$ make install
となります。まあテンプレですかね...
2.パッケージマネージャからインストール
apt等のパッケージマネージャを使えば、いとも簡単にインストールできます(最新版ではないことがしばしばですが...)
例えばUbuntuなら...ほい!
$ sudo apt install libcairomm-1.0-dev
早速やってみようぜ
とりあえず動作確認済だけでもしましょう。
下のコードをコピー&ペーストしましょう。
#include <cairomm/context.h>
#include <iostream>
int main(){
Cairo::RefPtr<Cairo::ImageSurface> surface =
Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 300, 300);
Cairo::RefPtr<Cairo::Context> cr =
Cairo::Context::create(surface);
surface->write_to_png("cairo.png");
std::cout<<
"Hello, World!"
<<std::endl;
}
これを次のようにコンパイルします。
$ [cc : g++,clang etc...] [source file] -o [executive file] `pkg-config --libs --cflags cairomm-1.0`
```console:例(文中の''を見落とさないで!) $ g++ cairomm_test.cpp -o cairomm_test
pkg-config --libs --cflags cairomm-1.0`
多くのライブラリをリンクするために、本来はもっと長いコマンドを記述しなければならないところなのですが、`pkg-config`を使うことで上記のようにバッサリと省略することができます。便利。
では、コンパイルしてできた実行ファイルを実行しましょう。
```console:output
> Hello, World!
この時カレントディレクトリ内に、300x300の全ピクセル透明のPNG画像 image.png
が保存されていれば成功です。
...終!(内容控えめだったかも)
では、次回からはCairommの描画関数の使い方を説明していきます。