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

الهلال والإطار والنجوم

  • ImageDraw
  • rectangle
  • ellipse
  • polygon
  • line

كل شكل يأخذ «صندوقًا»، وهو صفّ من أربعة أرقام: (يسار، أعلى، يمين، أسفل). الهلال حيلة لطيفة: دائرة ذهبية، ثم دائرة بلون الخلفية تغطّي جزءًا منها.

eid-shapes.py▶ شغّل
# رسم الهلال والإطار والنجوم على البطاقة
from PIL import Image, ImageDraw
import matplotlib.pyplot as plt

card = Image.new("RGB", (600, 400), "#0a2e2b")
draw = ImageDraw.Draw(card)

# إطار ذهبي: مستطيل بلا تعبئة
draw.rectangle((15, 15, 585, 385), outline="#f5b83d", width=6)

# الهلال: دائرة ذهبية تغطّي جزءًا منها دائرةٌ بلون الخلفية
draw.ellipse((60, 50, 180, 170), fill="#f5b83d")
draw.ellipse((90, 35, 210, 155), fill="#0a2e2b")

# نجمة: مضلّع من عشر نقاط
star = [(470, 60), (482, 92), (515, 92), (488, 112), (498, 145),
        (470, 125), (442, 145), (452, 112), (425, 92), (458, 92)]
draw.polygon(star, fill="#5eead4")

# خيط معلّق ونجوم بعيدة: دائرة صغيرة حول كل نقطة
draw.line((300, 15, 300, 90), fill="#cfe7e3", width=3)
for x, y in [(250, 200), (350, 230), (420, 300), (150, 320), (520, 250)]:
    draw.ellipse((x - 4, y - 4, x + 4, y + 4), fill="white")

plt.imshow(card)
plt.axis("off")
plt.show()
الهلال والإطار والنجوم
النتيجة بعد التشغيل: الهلال والإطار والنجوم

نورة: «ماذا لو غيّرت مكان الدائرة الثانية؟» جرّب أن تزيد 90 إلى 110، وشاهد الهلال يصير أعرض.

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