Monday, April 20, 2009

pycairoで画像を三角形に切り取る

pycairoで画像を三角形に切り取るには、以下のコードを実行します。

# coding=UTF-8
import cairo

surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 200, 200)
img = cairo.ImageSurface.create_from_png("sf.png")
ctx = cairo.Context(surface)

ctx.set_source_surface(img, 0, 0)
ctx.paint()

ctx.set_operator(cairo.OPERATOR_IN)

ctx.move_to(100, 20)
ctx.line_to(20, 180)
ctx.line_to(180, 180)
ctx.close_path()
ctx.fill()

surface.write_to_png('sample1026a.png')

元画像(sf.png)


出力画像(sample1026a.png)
pycairoで三角形に切り取った画像
動作環境
Python2.6.1, GTK+2.16.0, pycairo1.4.12-2

関連項目
pycairoのまとめ

pycairoをWindowsにインストール

No comments: