بعد الأساسيات · الصور والرسومالمثال 2 من 6

فانوسان من رسمة واحدة

  • crop
  • paste

نرسم الفانوس مرة واحدة على لوحة جانبية، ثم نقصّه بـ crop() بصندوق حوله، ونلصقه بـ paste() في زاويتَي البطاقة. ما تقصّه صورة جديدة، فالرسمة الأصلية تبقى كما هي.

eid-crop-paste.py▶ شغّل
# نرسم فانوسًا مرة واحدة، ثم نقصّه ونلصقه في زاويتين
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)
فانوسان من رسمة واحدة
النتيجة بعد التشغيل: فانوسان من رسمة واحدة

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