Уведомления

Группа в Telegram: @pythonsu

#1 Март 3, 2010 02:38:42

ambler
От:
Зарегистрирован: 2007-08-15
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

PIL: русские символы в картинке

Добрый день,

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

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

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

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

подскажите варианты решения проблемы?



Офлайн

#2 Март 3, 2010 06:01:57

asv13
От:
Зарегистрирован: 2007-01-22
Сообщения: 130
Репутация: +  0  -
Профиль   Отправить e-mail  

PIL: русские символы в картинке

Так может надо явно указать для надписи шрифт в котором есть кириллица ?



Офлайн

#3 Март 3, 2010 06:19:25

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

PIL: русские символы в картинке

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 валяются



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Март 3, 2010 06:26:29

ambler
От:
Зарегистрирован: 2007-08-15
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

PIL: русские символы в картинке

Спасибо за наводку, нашел уже этот код в мануалах…

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

под виндой давно не работал с питоном, как доустановить ему “_imagingft” ? и что это за зверь?



Офлайн

#5 Март 3, 2010 06:52:14

ambler
От:
Зарегистрирован: 2007-08-15
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

PIL: русские символы в картинке

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

всем спасибо, все работает.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version