==Python Imaging Library Modules==
[[Python Imaging Library][Python]]
===Image Module===
Image.new(mode, size, color)
=====例=====
>>> >>> import Image >>> >>> im = Image.new('RGB', (100,100), (255,0,0)) >>> >>> im.show()
[[File:1032_pil_img01.jpg]]
*options に弧の色を指定。
>>> >>> import Image, ImageDraw >>> >>> im = Image.new('RGB', (100,100), 'rgb(128,128,128)') >>> >>> draw = ImageDraw.Draw(im) >>> >>> draw.arc((10,10,80,80), 0, 270, fill=64) >>> >>> im.save(r'c:\work\img\pil_arc01.jpg')
[[File:1029_pil_arc01.jpg]]
*outline はアウトライン色、fill は塗りつぶす色を指定
>>> >>> im = Image.new('RGB', (100,100), 'rgb(128,128,128)') >>> >>> draw = ImageDraw.Draw(im) >>> >>> draw.chord((10,10,80,80), 0, 270, outline=(0,255,0), fill=(255,0,0)) >>> >>> im.save(r'c:\work\img\pil_chord01.jpg')
[[File:1030_pil_chord01.jpg]]
*outline はアウトライン色、fill は塗りつぶす色を指定
>>> >>> im = Image.new('RGB', (100,100), 'rgb(128,128,128)') >>> >>> draw = ImageDraw.Draw(im) >>> >>> draw.ellipse((10,10,80,40),outline=(0,255,0), fill=(255,0,0)) >>> >>> im.save(r'c:\work\img\pil_chord01.jpg')
[[File:1031_pil_ellipse01.jpg]]
*ver 1.1.5 から、 width オプションでピクセル単位で、線幅を指定できる。
>>> >>> im = Image.new('RGB', (100,100), 'rgb(128,128,128)') >>> >>> draw = ImageDraw.Draw(im) >>> >>> draw.line(((0,0),(50,50),(80,20)), fill='rgb(255,0,0)') >>> >>> im.save(r'c:\work\img\pil_line01.jpg')
[[File:1033_pil_line01.jpg]]
*outline はアウトライン色、fill は塗りつぶす色を指定
>>> >>> import Image, ImageDraw >>> >>> im = Image.new('RGB', (100,100), 'rgb(128,128,128)') >>> >>> draw = ImageDraw.Draw(im) >>> >>> draw.pieslice((10,10,80,80), 0, 270, fill=64) >>> >>> im.save(r'c:\work\img\pil_slice01.jpg')
[[File:1037_pil_slice01.jpg]]
*点を描画する。
*2 タプル [(x,y),...] または値のリスト、[x,y, ...] で位置を指定。
>>> >>> import Image, ImageDraw >>> >>> im = Image.new('RGB', (100,100), 'rgb(128,128,128)') >>> >>> draw = ImageDraw.Draw(im) >>> >>> points = [(x, 100.0-(x / 4.0) **2) for x in range(100)] >>> >>> draw.point(points, fill=64) >>> >>> im.save(r'c:\work\img\pil_point01.jpg')
[[File:1034_pil_point01.jpg]]
*2 タプル [(x,y),...] または値のリスト、[x,y, ...] で位置を指定。
>>> >>> import Image, ImageDraw >>> >>> im = Image.new('RGB', (100,100), 'rgb(128,128,128)') >>> >>> draw = ImageDraw.Draw(im) >>> >>> points = [(20,40), (25,60), (40,80), (60,75), (80,95), (85,20), (50,40)] >>> >>> draw.polygon(points, fill=64, outline='rgb(0,255,0)') >>> >>> im.save(r'c:\work\img\pil_poli01.jpg')
[[File:1035_pil_poli01.jpg]]
*boxは、シーケンスオブジェクトで、2タプル[ (x, y), (x, y) ] または値 [ x, y, x, y ]を指定する。
>>> >>> import Image, ImageDraw >>> >>> im = Image.new('RGB', (100,100), 'rgb(128,128,128)') >>> >>> draw = ImageDraw.Draw(im) >>> >>> draw.rectangle(((20,20),(80,80)), fill=64, outline='rgb(0,255,0)') >>> >>> im.save(r'c:\work\img\pil_rectangle01.jpg')
[[File:1036_pil_rectangle01.jpg]]
====textsize====
draw.textsize(string, options) => > (width, height)
*与えられた文字列のサイズをピクセル単位で取得する。