الكتابة على الصور بإستخدام بايثون

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

على كل حال لإضافة نصوص أو شعارات على الصور سنقوم بإستخدام مكتبة بايثون Pillow وهي توفر أداة رائعة تسمح لنا بإضافة مختلف الشعارات والكتابة على صورنا .

قبل إستعمال حزمة Pillow علينا أولا تثبيتها في حالة عدم وجودها على أنظمتنا .

لتثبيت مكتبة Pillow نقوم بإستخدام أداة pip


pip install pillow

الأن يمكننا إستخدام مكتبة pillow والتعامل مع الصور

إضافة نص على الصور 

سنبدأ الأن بإضافة نص على صورة ما وسيكون النص عبارة عن عنوان موقع بايثون العربي http://pyarab.com

قبل التعديل


from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont


def watermark_text(input_image_path,
output_image_path,
text, pos):
    photo = Image.open(input_image_path)

    # جعل الصورة قابلة للتعديل
    drawing = ImageDraw.Draw(photo)

    black = (3, 8, 12)
    font = ImageFont.truetype("arial.ttf", 15)
    drawing.text(pos, text, fill=black, font=font)
    photo.show()
    photo.save(output_image_path)


if __name__ == '__main__':
    img = 'before.jpg'
    watermark_text(img, 'after.jpg',
    text='pyarab.com',
    pos=(0, 0))

قمنا أولا بإستدعاء بعض الكائنات   Image ،ImageDraw و ImageFont ثم قمنا بإنشاء دالة watermark_text والتي تقوم باخذ أربعة قيم  وهي على التوالي : الصورة الأصلية، الصورة المعدلة، النص وأخيرا الإحداثيات التي سيتم وضع النص على حسبها .

بعد ذلك نقوم بفتح الصورة ثم نقوم بإخذ نسخة منها بإعداة رسمها بإستخدام  ImageDraw.Draw وهذا يسمح لنا بوضع النص بكل سهولة، ثم نقوم بإنشاء الخط بإستخدام  ImageFont.truetype وهو موجود في ملفات مكتبة Pillow وقمنا بتعيين حجم الخط ب 15 وبدون إطالة أخرى إليكم الناتج المتحصل عليه

دعونا نقوم الأن بإضفة شعار على الصورة

إضافة شعار على الصورة 

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

سنقوم بإستخدام شعار موقع بايثون العربي


from PIL import Image

def watermark_photo(input_image_path,
output_image_path,
watermark_image_path,
position):
    base_image = Image.open(input_image_path)
    watermark = Image.open(watermark_image_path)

    # إضافة الشعار
    base_image.paste(watermark, position)
    base_image.show()
    base_image.save(output_image_path)

if __name__ == '__main__':
    img = 'vv.jpg'
    watermark_photo(img, 'v1.jpg',
    'logo.png', position=(0,0))

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

وإلى هنا أكون قد إنتهيت من هذا الموضوع ولمزيد من الخدع حول الصور مع مكتبة Pillow يمكنك زيارة الرابط التالي :

كيفية إستعمال مكتبة PILLOW

 

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

One Thought on “الكتابة على الصور بإستخدام بايثون

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Post Navigation