×
صفحه اصلی سوالات برنامه نویسی کاربران دوره‌های آموزشی پروفایل کاربری درباره و تماس

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

0
0

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

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

 

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

  • 1 ماه قبل
  • 1 ماه قبل
  • 427 بازدید
  • 2 پاسخ

https://stackoverflow.com/questions/69092462/how-can-i-type-persian-text-in-pillow-library

 

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

 

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

  • 1 ماه قبل

کافیه کتابخونه های 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()
  • 1 ماه قبل
افزودن پاسخ