[[oktatas:programozás:python|< Python]] ====== Python grafika ====== * **Szerző:** Sallai András * Copyright (c) 2020, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Koordináta rendszer ===== {{:oktatas:programozas:python:koordinatarendszer.png|}} ===== Vonal ===== from PIL import Image, ImageDraw im = Image.new('RGB', (600, 400), (255, 255, 255)) draw = ImageDraw.Draw(im) draw.line((200, 200, 300, 300), fill=(0, 0, 255), width=20) im.save('kep.jpg', quality=95) {{:oktatas:programozas:python:vonal.png?200|}} ===== Téglalap rajzolás ===== from PIL import Image, ImageDraw im = Image.new('RGB', (600, 400), (255, 255, 255)) draw = ImageDraw.Draw(im) draw.rectangle((200, 200, 300, 300), fill=(0, 192, 192), outline=(128, 128, 128)) im.show() {{:oktatas:programozas:python:negyzet.png?200|}} ===== Ellipszis ===== Kör rajzolása: from PIL import Image, ImageDraw im = Image.new('RGB', (600, 400), (255, 255, 255)) draw = ImageDraw.Draw(im) # ellipse(x0, y0, x1, y1) # x0, y0 a doboz bal felső sarka # x1, y1 a doboz jobb alsó sarka draw.ellipse((200, 200, 300, 300), fill=(255, 255, 0), outline=(0, 0, 255)) im.show() {{:oktatas:programozas:python:kor.png?200|}} ===== Kép készítése ===== ==== Téglalap ==== from PIL import Image, ImageDraw im = Image.new('RGB', (600, 400), (255, 255, 255)) draw = ImageDraw.Draw(im) draw.rectangle((200, 200, 300, 300), fill=(0, 192, 192), outline=(128, 128, 128)) im.save('kep.jpg', quality=95) ==== Mentés másként ==== Készítsünk egy képet: from PIL import Image, ImageDraw im = Image.new('RGB', (600, 400), (255, 255, 255)) draw = ImageDraw.Draw(im) draw.rectangle((200, 200, 300, 300), fill=(0, 192, 192), outline=(128, 128, 128)) im.save('kep01.png') Most nyissuk meg a képet, rajzoljunk rá, majd más néven mentsük el. from PIL import Image, ImageDraw im = Image.open("kep01.png") draw = ImageDraw.Draw(im) draw.ellipse((200, 200, 300, 300), fill=(255, 255, 0), outline=(0, 0, 255)) im.save('kep02.png') ===== Változatok ===== from PIL import Image, ImageDraw box = (100, 100, 200, 200) im = Image.new('L', (600, 400), 12) draw = ImageDraw.Draw(im) draw.ellipse(box, 255) im.show() {{:oktatas:programozas:python:kor2.png|}} from PIL import Image, ImageDraw im = Image.new('RGB', (300, 300), (255, 255, 255)) draw = ImageDraw.Draw(im) west_north = (100, 100) east_south = (200, 200) outline_color = (128, 128, 128) draw.rectangle([west_north, east_south], outline=outline_color) im.show() {{:oktatas:programozas:python:negyzet2.png|}} ===== Forrás ===== * https://www.tutorialspoint.com/python_pillow/python_pillow_imagedraw_module.htm (2020) * https://note.nkmk.me/en/python-pillow-imagedraw/ (2020)