Saturday, April 04, 2009

pycairoでグラデーションを描画する

pycairoでグラデーションを描画するには、以下のコードを実行します。

# coding=UTF-8
import cairo

surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 200, 200)
ctx = cairo.Context(surface)

lg = cairo.LinearGradient(0, 0, 0, 200)
lg.add_color_stop_rgba(0.00, 0x11/float(0xff), 0x33/float(0xff), 0x77/float(0xff), 1)
lg.add_color_stop_rgba(0.75, 0xbb/float(0xff), 0xdd/float(0xff), 0xff/float(0xff), 1)
lg.add_color_stop_rgba(1.00, 0xff/float(0xff), 0xa5/float(0xff), 0x00/float(0xff), 1)
ctx.rectangle(0, 0, 200, 200)
ctx.set_source(lg)
ctx.fill()
surface.write_to_png('sample1005a.png')

出力画像(sample1005a.png)


動作環境
Python2.6.1, GTK+2.16.0, pycairo1.4.12-2

関連項目
pycairoのまとめ

pycairoをWindowsにインストール

pycairoで放射グラデーションを描画する

No comments: