Pythonで画像に文字列を書き込む

2011-11-29
このエントリーをはてなブックマークに追加

まぁよくあるサンプルなんですけど、意外と面倒と言うか、スキっと書けなかったのでメモ。PILを使います。

# coding: utf-8

import Image
import ImageDraw
import ImageFont

def main():

_bg = Image.open(“base.png”)
_draw = ImageDraw.Draw(_bg)
_font = ImageFont.truetype(“/Library/Fonts/Arial Unicode.ttf”,22, encoding=’utf-8′)
_draw.text((0,0), u”禅”, font=_font)
_bg.save(“text.png”)

if __name__ == “__main__”:

main()

これだけなんですけど、「# coding: utf-8」って書かないとエラーになってしまうところでつまずいてました。たまたま手元の環境がそうだったのかもしれませんが、「# -*- coding: utf-8 -*-」じゃダメでした。

フォントへのパスは適宜書き換えて使ってください。

Python2.7、PILは1.1.7でした。

Tags:

CentOS5.7にMySQL5.5とMySQL-pythonをインストールしたらエラーが出た

2011-11-07
このエントリーをはてなブックマークに追加

もうまんま表題の通りです。ちょっと遊べる環境作っておこうと思ってCentOS5.7のVM作って、そこにMySQL5.5をソースからビルドしてインストールした時の話です。

まぁエラーが出てプチハマりしたってだけの話ですが。

MySQLのインストールは問題なく終わり、コマンドラインでMySQLへのログインも問題なく終わりました。そこへPython2.7のインストールも無事に終わり、あとはモジュールを入れていくだけ、という状況でMySQL-pythonをインストールしたあとのことです。

Pythonを起動して「import MySQLdb」と叩くと、

ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory

とのエラーメッセージ。先週CentOS5.6で環境作ったときには出なかったエラーメッセージです。

まぁただ単に共有ライブラリとして見える場所においていなかっただけの話だったのです。

ので、

/etc/ld.so.conf

/usr/local/mysql/lib

を追記して、

/sbin/ldconfig

要するに置いてある場所も共有ライブラリ置き場として追加してやって設定反映で終わり。すでに共有ライブラリ置き場になっているところにシンボリックリンクを置いてあげてもよかったのかもしれませんが、ライブラリからの相対パス云々があると悲しいことになりそうだったのでパス追加にしておきました。

ハセテツが無知なだけで、シンボリックリンク追加だけでよかったのかもしれません。お好きな方法をお試しいただければ。