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:
Post a Comment