- cairoというお絵描き仕様がある
- pythonにもあって、それ以外でも使われている
- 特徴は、ベクター仕様でのお絵描きであること。ラスター画像ではないということ
- 画面をピクセルに分けて、そこを何色にするか、というラスター画像では、拡縮をしたときにいちいち滑らかさの調整をしないといけないが、ベクター仕様では、そうならない
- SVGとかがその方法をとっているが、それ以外にもPDFなどでも
- 例えば線分の指定では、始点と終点とを指定することでベクトルを与える。そのうえで、そのベクトルは、座標変換(平行移動、回転、拡縮など)をして、描図オブジェクトすべてを一括変換することもできる
- こちらにその解説がある
magazine.rubyist.net
- さて。このcairoだが、pythonで使おうとおもったら、インストールに難航した
- PC環境に、所謂pythonが入っていて、Anacondaも別途に入れてあって
、sagemathのダウンロードによりそれ専用のpython環境もあって、そのどこでcairoが使いたいのかが自分でもぼんやりとしていたことが難航の原因
-
- pipは普通のpython環境、condaを使ったパッケージインストールはanaconda環境、sagemathのpython環境はsageでのpipを使わないといけない
www.python.jp
-
- また、sagemath下でのpythonパッケージ導入は、めんどうくさいらしく、結局pycairoについては断念。。。
- 参考サイトを一応、挙げておく
sonickun.hatenablog.com
ask.sagemath.org
- 基本的には、pipもcondaも環境を最新版に上げ続けるのが吉。pythonも更新しておくほうが良い
- Anacondaは、面倒くさいので一旦全部削除して入れ直すほうが速そう
Anacondaのアンインストールからの再インストール | Udemyのセールを活用してほしかったあのスキルを手に入れよう!【非公式】
- その他としてはjupyter notebook でcairoの画像をinlineに出すにはさらに工夫が必要
- こちらのサイトを参考に、cairoが作ったベクター形式の画像の元情報を、pngファイルに書き出す関数を作った上で、inline にださせるという作戦
qiita.com
- これらを経て作ったjupyter notebookが以下:
github.com