Thursday, April 23, 2009

pixbufでJPEGを読み込んでpycairoでPNGで保存する

pixbufでJPEGを読み込んでpycairoでPNGで保存するには、以下のコードを実行します。

# coding=UTF-8
import cairo
import gtk

pb = gtk.gdk.pixbuf_new_from_file("sample3b.jpg")

surface = cairo.ImageSurface(cairo.FORMAT_ARGB32,
pb.get_width(), pb.get_height())
ctx = cairo.Context(surface)
ctx2 = gtk.gdk.CairoContext(ctx)

ctx2.set_source_pixbuf(pb, 0, 0)
ctx2.paint()

surface.write_to_png('sample1030a.png')

元画像(sample3b.jpg)


出力画像(sample1030a.png)


pixbufを使用するには、
pycairoをWindowsにインストール
の手順と以下を実行します。

1.以下のURLからpygobjectをダウンロードして実行。
http://ftp.gnome.org/pub/gnome/binaries/win32/pygobject/2.14/
pygobject-2.14.2-2.win32-py2.6.exe

2.以下のURLからpygtkをダウンロードして実行。
http://ftp.gnome.org/pub/gnome/binaries/win32/pygtk/2.12/
pygtk-2.12.1-3.win32-py2.6.exe

関連情報
pycairoのまとめ

No comments: