فارسی نویسی در کتابخوانه pillow

3 هفته قبل 2 هفته قبل 364 بازدید 2 پاسخ علیرضا

چگونه میتوانم با کمک لایبری پیلو در پایتون روی عکس ها متن فارسی بنویسم

وقتی سعی میکنم متن رو بنویسم، حروف متن به هم ریخته میشن

 

فارسی نوشتن با کتابخوانه pillow

حسین علیزاده
2 هفته قبل
  • https://stackoverflow.com/questions/69092462/how-can-i-type-persian-text-in-pillow-library

     

    به این لینک توی وب سایت stack overflow برو صددرصد جوابتو پیدا میکنی یکی هم مثل تو همین مشکل رو داشت پرسید این سوال رو خیلی ساده توضیح داده یکی بهش.

     

    من در رابطه با کتابخانه pillow هیچ تخصصی ندارم اما اگه رفتی توی این لینک متوجه توضیحش نشدی بگو راهنماییت کنم اگه بتونم.

    ناشناس
    2 هفته قبل
  • کافیه کتابخونه های arabic-reshaper و python-bidi رو نصب کنی

    pip install --upgrade arabic-reshaper
    pip install python-bidi

    بعد توی فایلت فراخوانیشون کنی

    import arabic_reshaper
    from bidi.algorithm import get_display

    بعد متنت رو به صورت زیر بهش بده

    text = "سلام به همه دوستان"
    reshaped_text = arabic_reshaper.reshape(text)
    bidi_text = get_display(reshaped_text)
    .
    .
    .
    draw.text((100, 200), bidi_text, (?,?,?), font=font)

    بجای علامت سوال، کدهای رنگ رو بذار، بصورت RGB

    بعدشم که بقیه کدهات رو باید مثل همون دستورات pillow قرار بدی، چیزایی که باید اضافه کنی رو فقز برات نوشتم

     

    نمونه کد

    import arabic_reshaper
    from bidi.algorithm import get_display
    from PIL import ImageFont
    from PIL import Image
    from PIL import ImageDraw
    
    fontFile = "iran.ttf"
    imageFile = "input.jpg"
    
    font = ImageFont.truetype(fontFile, 14)
    image = Image.open(imageFile)
    
    text = "سلام به همه دوستان"
    reshaped_text = arabic_reshaper.reshape(text)
    bidi_text = get_display(reshaped_text)
    
    draw = ImageDraw.Draw(image)
    draw.text((100, 200), bidi_text, (0, 0, 0), font=font)
    draw = ImageDraw.Draw(image)
    image.save("output.png")
    image.show()

    افزودن پاسخ