كيفية رسم الأشكال على الصورة باستخدام الوسادة؟

Oct 28, 2025

ترك رسالة

مرحبًا يا من هناك! باعتباري موردًا للوسائد، لا أهتم فقط ببيع الوسائد عالية الجودة مثلهاوسادة سرير فاخرة مملوءة بالألياف المجوفة مصنوعة من البوليستر بنسبة 100%,وسادة من ألياف البوليستر بنسبة 100% عالية الجودة للفنادق، ووسادة فندق عالية الجودة من ريش الأوز الأبيض. ولدي أيضًا موهبة بسيطة في معالجة الصور. اليوم، سأشارككم كيفية رسم الأشكال على الصورة باستخدام Pillow، وهي مكتبة بايثون سهلة الاستخدام للغاية.

ما هي الوسادة؟

أولا، دعونا نتحدث عن ما هي الوسادة. الوسادة هي شوكة من مكتبة تصوير بايثون (PIL). إنه سهل الاستخدام ويوفر مجموعة من الميزات لفتح تنسيقات ملفات الصور المختلفة ومعالجتها وحفظها. سواء كنت من الهواة الذين يتطلعون إلى إضافة بعض التأثيرات الرائعة إلى صور عطلتك أو مصممًا محترفًا يعمل في أحد المشاريع، يمكن أن تكون الوسادة أفضل صديق لك.

تثبيت الوسادة

قبل أن نبدأ في رسم الأشكال، نحتاج إلى تثبيت الوسادة. إذا كنت تستخدم النقطة (وهي الطريقة الأكثر شيوعًا لتثبيت حزم Python)، فما عليك سوى فتح موجه الأوامر أو الوحدة الطرفية واكتب:

وسادة تثبيت النقطة

هذا كل شيء! في وقت قصير، سيكون لديك وسادة جاهزة للاستخدام.

رسم الأشكال الأساسية

لنبدأ بالأساسيات. سنقوم برسم بعض الأشكال البسيطة على الصورة. أولاً، نحتاج إلى استيراد الوحدات الضرورية وفتح الصورة.

from PIL import Image, ImageDraw # افتح صورة image = Image.open('your_image.jpg') draw = ImageDraw.Draw(image)

في الكود أعلاه، نقوم أولاً باستيراد ملفصورةورسم الصورةدروس من مكتبة الوسادة. ثم نفتح ملف صورة (يجب عليك استبدال"your_image.jpg"مع المسار الفعلي لصورتك). الرسم الصورة.رسم()تنشئ الوظيفة كائنًا يمكننا استخدامه للرسم على الصورة.

Premium Soft 100% Polyester Hotel Hollow Fiber Filled Bed Pillow factoryPremium Soft 100% Polyester Hotel Hollow Fiber Filled Bed Pillow manufacturers

رسم خط

رسم خط سهل للغاية. كل ما عليك فعله هو تحديد نقطة البداية والنهاية للخط، بالإضافة إلى اللون والعرض.

# ارسم خطًا draw.line((100, 100, 200, 200), fill='red', width=2)

في هذا المثال، يبدأ السطر عند النقطة(100، 100)وينتهي عند(200، 200). الخط باللون الأحمر ويبلغ عرضه 2 بكسل.

رسم مستطيل

بعد ذلك، دعونا نرسم مستطيلاً. تحتاج إلى تحديد الزوايا العلوية اليسرى والسفلى اليمنى للمستطيل.

# ارسم مستطيلاً draw.rectangle((300, 300, 400, 400), border='blue', width=2)

هنا، المستطيل له الزاوية العلوية اليسرى عند(300، 300)وقاعها - الزاوية اليمنى في(400، 400). مخطط المستطيل باللون الأزرق ويبلغ عرضه 2 بكسل.

رسم القطع الناقص

رسم القطع الناقص هو أيضًا أمر بسيط. يمكنك تحديد المربع المحيط بالقطع الناقص (المستطيل الذي سيحيط به).

# رسم القطع الناقص draw.ellipse((500, 500, 600, 600), fill='green')

في هذه الحالة، يتم ملء القطع الناقص باللون الأخضر ويحده المستطيل بالزاوية العلوية اليسرى(500، 500)والأسفل - الزاوية اليمنى(600، 600).

الرسم بمزيد من التحكم

في بعض الأحيان، قد ترغب في مزيد من التحكم في كيفية ظهور الأشكال. على سبيل المثال، قد ترغب في رسم شكل بتعبئة متدرجة أو مخطط تفصيلي متقطع.

تعبئة متدرجة

لإنشاء تعبئة متدرجة، يمكننا استخدام حلقة لرسم خطوط متعددة بألوان مختلفة. فيما يلي مثال لإنشاء تعبئة متدرجة رأسية لمستطيل:

from PIL import Image, ImageDraw image = Image.open('your_image.jpg') draw = ImageDraw.Draw(image) # ارسم مستطيلاً بتعبئة متدرجة رأسية start_color = (255, 0, 0) # Red end_color = (0, 0, 255) # Blue x1, y1, x2, y2 = 100, 100, 200, 200 height = y2 - y1 لـ y في النطاق (y1، y2): r = int(start_color[0] + (end_color[0] - start_color[0]) * (y - y1) / الارتفاع) g = int(start_color[1] + (end_color[1] - start_color[1]) * (y - y1) / الارتفاع) b = int(start_color[2] + (end_color[2] - start_color[2]) * (y - y1) / height) draw.line((x1, y, x2, y), fill=(r, g, b))

في هذا الكود، نقوم أولاً بتعريف ألوان البداية والنهاية للتدرج. ثم نمر عبر كل خط أفقي داخل المستطيل ونحسب لون هذا الخط بناءً على موضعه.

مخطط تفصيلي متقطع

يمكن أن يضيف رسم مخطط تفصيلي متقطع مظهرًا فريدًا إلى أشكالك. يمكننا تحقيق ذلك عن طريق رسم سلسلة من الخطوط القصيرة مع وجود فجوات بينها.

from PIL import Image, ImageDraw image = Image.open('your_image.jpg') draw = ImageDraw.Draw(image) # ارسم مستطيلاً بمخطط متقطع x1, y1, x2, y2 = 300, 300, 400, 400 Dash_length = 5 فجوة_طول = 3 لـ x في النطاق(x1, x2, Dash_length + الفجوة_طول): draw.line((x, ص1, x + Dash_length, y1), fill='yellow', width=2) draw.line((x, y2, x + Dash_length, y2), fill='yellow', width=2) لـ y في النطاق (y1, y2, Dash_length + Gap_length): draw.line((x1, y, x1, y + Dash_length), fill='yellow', width=2) draw.line((x2, y، x2، y + Dash_length)، fill='yellow', width=2)

في هذا المثال، نحدد طول الشرطات والفجوات بينها. ثم نمر عبر جوانب المستطيل ونرسم الخطوط المتقطعة.

حفظ الصورة المعدلة

بمجرد الانتهاء من رسم الأشكال على الصورة، نحتاج إلى حفظها. الأمر بسيط مثل:

image.save('modified_image.jpg')

فقط استبدل"modified_image.jpg"بالاسم الذي تريد إعطاءه لصورتك الجديدة.

رسم الأشكال المتقدمة

لقد قمنا بتغطية الأساسيات، لكن الوسادة تسمح برسم أشكال أكثر تقدمًا. على سبيل المثال، يمكنك رسم مضلعات ذات جوانب متعددة.

from PIL import Image, ImageDraw image = Image.open('your_image.jpg') draw = ImageDraw.Draw(image) # ارسم نقاط مضلع = [(100, 100), (200, 150), (150, 250), (50, 200)] draw.polygon(points, fill='purple')

في هذا الكود، نحدد قائمة بالنقاط التي تشكل رؤوس المضلع. ثم نستخدممضلع()طريقة رسم المضلع وتعبئته باللون الأرجواني.

خاتمة

يعد رسم الأشكال على الصورة باستخدام الوسادة أمرًا ممتعًا وسهلاً. سواء كنت تضيف خطوطًا ومستطيلات بسيطة أو تنشئ مضلعات معقدة بتعبئة متدرجة، يمنحك تطبيق Pillow القدرة على تحويل صورك بطرق مذهلة.

إذا كنت في السوق للحصول على وسائد عالية الجودة، فلا تنس التحقق من منتجاتنا مثلوسادة سرير فاخرة مملوءة بالألياف المجوفة مصنوعة من البوليستر بنسبة 100%,وسادة من ألياف البوليستر بنسبة 100% عالية الجودة للفنادق، ووسادة فندق عالية الجودة من ريش الأوز الأبيض. نحن نبحث دائمًا عن شركاء وعملاء جدد. إذا كنت مهتمًا بشراء وسائدنا بكميات كبيرة، فلا تتردد في التواصل معنا لإجراء مناقشة حول الشراء.

مراجع

  • وسادة الوثائق الرسمية
  • وثائق بايثون الرسمية

إرسال التحقيق