Showing posts with label pixbuf. Show all posts
Showing posts with label pixbuf. Show all posts

Friday, April 24, 2009

pixbufで彩度を変更する

pixbufで彩度を変更するには、以下のコードを実行します。


# coding=UTF-8
import gtk

pb = gtk.gdk.pixbuf_new_from_file("sf.jpg")
pb.saturate_and_pixelate(pb, 0.2, False)
pb.save('sample1031a.jpg', 'jpeg', {'quality':'100'})

pb2 = gtk.gdk.pixbuf_new_from_file("sf.jpg")
pb2.saturate_and_pixelate(pb2, 2.0, False)
pb2.save('sample1031b.jpg', 'jpeg', {'quality':'100'})


元画像(sf.jpg)


出力画像(sample1031a.jpg)
pixbufで彩度を落とした画像

出力画像2(sample1031b.jpg)
pixbufで彩度を上げた画像

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のまとめ