Найти - Пользователи
Полная версия: PIL: русские символы в картинке
Начало » Python для новичков » PIL: русские символы в картинке
1
ambler
Добрый день,

проблема следующая: необходимо в картинку вставить русский текст
имеется: win, python 2.6.4, PIL 1.1.7

текст пишу в картинку так:

draw = ImageDraw.Draw(image)
draw.text((x,y), ‘text’, fill='black')

англ. символы втыкаются нормально, русские - иероглифами.
код набран в utf, в начале текста написано “# -*- coding: utf-8 -*-”

подскажите варианты решения проблемы?
asv13
Так может надо явно указать для надписи шрифт в котором есть кириллица ?
PooH
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" )
Только файл шрифта подставьте другой, в винде они помнится в C:\WINDOWS\Fonts валяются
ambler
Спасибо за наводку, нашел уже этот код в мануалах…

только возникла проблема другого плана, при попытке выполнения кода, питон говорит:
“ImportError: The _imagingft C module is not installed”

под виндой давно не работал с питоном, как доустановить ему “_imagingft” ? и что это за зверь?
ambler
проблему с “_imagingft” решил путем установки PIL 1.1.6, пишут что в 1.1.7 бага какая-то с этим.

всем спасибо, все работает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB