فانوسان من رسمة واحدة
croppaste
نرسم الفانوس مرة واحدة على لوحة جانبية، ثم نقصّه بـ crop() بصندوق حوله، ونلصقه بـ paste() في زاويتَي البطاقة. ما تقصّه صورة جديدة، فالرسمة الأصلية تبقى كما هي.
# نرسم فانوسًا مرة واحدة، ثم نقصّه ونلصقه في زاويتين
from PIL import Image, ImageDraw
import matplotlib.pyplot as plt
sketch = Image.new("RGB", (300, 300), "#0a2e2b")
draw = ImageDraw.Draw(sketch)
draw.line((150, 0, 150, 60), fill="#cfe7e3", width=3)
draw.polygon([(120, 60), (180, 60), (195, 90), (105, 90)], fill="#c27c0e")
draw.rectangle((110, 90, 190, 190), fill="#f5b83d", outline="#c27c0e", width=4)
draw.ellipse((135, 115, 165, 165), fill="#fff7d6")
draw.polygon([(105, 190), (195, 190), (150, 230)], fill="#c27c0e")
lantern = sketch.crop((95, 0, 205, 235))
print("مقاس الفانوس بعد القصّ:", lantern.size)
card = Image.new("RGB", (600, 400), "#0a2e2b")
card.paste(lantern, (20, 0))
card.paste(lantern, (470, 0))
print("لصقناه في:", (20, 0), "و", (470, 0))
plt.imshow(card)
plt.axis("off")
plt.show()المخرجات
مقاس الفانوس بعد القصّ: (110, 235) لصقناه في: (20, 0) و (470, 0)

جرّب أن تغيّر رقمًا أو لونًا في الكود، ثم شغّله من جديد وشاهد ما يتغيّر.▶ افتح المثال في المحرر