Форум сайта python.su
Добрый день,
проблема следующая: необходимо в картинку вставить русский текст
имеется: win, python 2.6.4, PIL 1.1.7
текст пишу в картинку так:
draw = ImageDraw.Draw(image)
draw.text((x,y), ‘text’, fill='black')
англ. символы втыкаются нормально, русские - иероглифами.
код набран в utf, в начале текста написано “# -*- coding: utf-8 -*-”
подскажите варианты решения проблемы?
Офлайн
Так может надо явно указать для надписи шрифт в котором есть кириллица ?
Офлайн
amblerНасколько помню, надо подгрузить шрифт с русскими символами. вот пример из руководства:
англ. символы втыкаются нормально, русские - иероглифами.
код набран в utf, в начале текста написано “# -*- coding: utf-8 -*-”
подскажите варианты решения проблемы?
import Image
import ImageDraw
import ImageFont
fontPath = "/usr/share/fonts/dejavu-lgc/DejaVuLGCSansCondensed-Bold.ttf"
sans16 = ImageFont.truetype ( fontPath, 16 )
im = Image.new ( "RGB", (200,50), "#ddd" )
draw = ImageDraw.Draw ( im )
draw.text ( (10,10), "Run awayyyy!", font=sans16, fill="red" )
im.save ( "runaway.jpg" )
Офлайн
Спасибо за наводку, нашел уже этот код в мануалах…
только возникла проблема другого плана, при попытке выполнения кода, питон говорит:
“ImportError: The _imagingft C module is not installed”
под виндой давно не работал с питоном, как доустановить ему “_imagingft” ? и что это за зверь?
Офлайн
проблему с “_imagingft” решил путем установки PIL 1.1.6, пишут что в 1.1.7 бага какая-то с этим.
всем спасибо, все работает.
Офлайн