mieki256's diary



2017/04/27(木) [n年前の日記]

#1 [python] Python + cairo(pycairo) でドット絵モドキを生成

_先日書いたドット絵モドキを生成するRubyスクリプト をPythonで書き直すことができた、と思う。たぶん。

tinypixelartgrad_gui_screenshot.gif

ソースは以下。ソース自体は CC0 / Public Domain ってことで。

_tinypixelartgrad.py / tinypixelartgrad_gui.py

tinypixelartgrad.py と tinypixelartgrad_gui.py をDLして、以下で実行。
python tinypixelartgrad_gui.py

動作には以下が必要。 Winodws10 x64 と Windows7 x64上で動作確認済み。

exe版も作ってみたり。 :

一応、動作確認ぐらいはできるように、Windows上で動作するexe版も置いときます。

_tinypixelartgrad_gui.zip (7.8MB, 解凍すると14MB程度)

解凍して、中に入ってる tinypixelartgrad_gui.exe を実行すれば動くんじゃないかなと。たぶん。動いたらいいな。

exe化は、 _PyInstaller を使用。 *1

実行バイナリは 32bit版になってるはずだけど…。 *2 自分の手元には Windows7/10の64bit版しか無いので、32bit版のOS上で本当に動くかどうかは不明。

しかしコレ、同梱されてるDLLがライセンス的にアレだから、ちゃんとした形での配布は難しい予感。なので、これから GIMP の Python-Fu で書き直してみようかと考えていたり。

動作に必要なアレコレのインストール方法について一応メモ。 :

どうやってインストールしていたのか、そのうち自分も忘れそうなので、一応メモ。

環境は Windows10 x64。

Python本体は、 _Download Python | Python.org から辿っていけば、セットアップファイルを入手できる。今現在は、 _Python Release Python 2.7.13 | Python.org で、Windows x86版(32bit版) や Windows x86-64版(64bit版) が入手できる模様。

_WindowsにPythonをインストールする方法 | UX MILK によると、インストール時に「tcl/tk and IDLE」にチェックを入れれば、Tkinter もインストールされる模様。まあ、「tk」とか「tkinter」という単語が見えたら一緒にインストールしておく、ということでいいのかなと。

pycairoは、 _PyGTK 経由で、 _ftp.gnome.org より pygtk-all-in-one-2.24.2.win32-py2.7.msi をDLしてインストールすれば、PyGTK、PyCairo、PyGObject の3つがインストールできる。のだけど、コレ、導入は楽だけど、バージョンが古くて…。

一応、 _Download GTK+ 経由の _GTK+ Download: Windows というページで、「MSYS2を入れれば最新版のインストールは簡単」みたいなことが書いてあるけど…。手元の環境では MSYS2 だけでも2GB近くHDDに入っていて…。まあ、それぞれ好きな版を使えばいいのでは、みたいな。古い版でも一応こうして動いてるようだし。

Pillowは、Python がインストールされてるなら、pip install Pillow でインストールできる。今、手元で試したら、Pillow 4.1.0 がインストールされた。

*1: 最初は py2exe でexe化を試みたけど、生成されたexeを実行したら強制終了するので諦めました。
*2: 手元でインストールしてあるのは Pythn 2.7 32bit版なので、exe化して出来上がったバイナリも32bit版のはず。

以上です。

過去ログ表示

Prev - 2017/04 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project