Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Можно ли вывести Unicode на Image? И если можно, то как? 
:(
    Опции темы
EKoshelev
Дата 6.2.2013, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 509
Регистрация: 1.9.2004

Репутация: нет
Всего: нет



Хочу попробовать вывести иероглифы на Image. Шрифты есть...
Если кто-нибудь знает как, подскажите плз )

Это сообщение отредактировал(а) EKoshelev - 6.2.2013, 13:59


--------------------
Вежливым и адекватным предлагаю общаться на "ты".
PM MAIL   Вверх
Чучмек
Дата 6.2.2013, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



А в лэйбу можешь вывести? И какая делфа?


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
EKoshelev
Дата 7.2.2013, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 509
Регистрация: 1.9.2004

Репутация: нет
Всего: нет



Честно гря, я даже не знаю как компьютеру в мозг этот юникод загрузить. Там вроде был какой-то WideChar штоль? И съест ли лабель такой чар - фиг знает.

Дельфа седьмая.

--------

В лейбл, похоже, не выводится. Сейчас (на работе) шрифтов китайских нет, зато есть втроенный греческий, например. Дак вот из Word'а взял код буквы "гамма" (0x03b3) и накидал вот такой код:

Код

var
  w: WideChar;
begin
  w := WideChar($03B3);
  Label1.Caption := w;
end;



В результате на лейбле оказался знак вопроса. Символы из ASCII выводит нормально, если чё. Шрифт на лейбле Times New Roman.


Это сообщение отредактировал(а) EKoshelev - 7.2.2013, 09:20


--------------------
Вежливым и адекватным предлагаю общаться на "ты".
PM MAIL   Вверх
Чучмек
Дата 7.2.2013, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



Я почему и спрашиваю.
Цитата(EKoshelev @  7.2.2013,  09:05 Найти цитируемый пост)
 w := WideChar($03B3);
  Label1.Caption := w;

Так не получится. В неюникодной делфе все равно преобразуется в ansistring.
Но в любом случае можно. И в любом случае через canvas. Только в d7 придется через API.
Минут через 20 пример дам.


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Akella
Дата 7.2.2013, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



А TNT components не спасут гиганта мысли?

Добавлено через 38 секунд
Или http://www.tmssoftware.com/site/tmsuni.asp
PM MAIL   Вверх
Чучмек
Дата 7.2.2013, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



Код

procedure TForm1.Button1Click(Sender: TObject);
var
 img:TImage;
 s:WideString;
 var sz:TSize;
begin
 img:=TImage.Create(form1);
 img.Canvas.Font.Size:=64;    //вообще img.Picture.bitmap.Canvas
 AddFontResource('C:\Program Files\Borland\Delphi7\Projects\иероглифы\FZSJSFW1.TTF');
 img.Canvas.Font.Name:='FZShouJinShu-S10T';
 img.Canvas.Font.Style:=[fsBold];
 img.Canvas.Font.Color:=rgb(200,0,0);
 img.Canvas.Brush.Color:=rgb(0,0,0);
 SetLength(s,4);
  s[1]:=#$9501;
  s[2]:=#$9502;
  s[3]:=#$9503;
  s[4]:=#$9504;
 //fillchar(sz,sizeof(sz),0);
 GetTextExtentPoint32W(img.Canvas.Handle,PWideChar(s),length(s),sz);
 img.Picture.bitmap.Width:=trunc(sz.cx*(1+0.4));
 img.Picture.bitmap.Height:=trunc(sz.cy*(1+0.4));
 img.AutoSize:=true;
 img.Canvas.FillRect(Rect(0,0,img.Width,img.Height));
 ExtTextOutW(img.Canvas.Handle, trunc(0.2*sz.cx), trunc(0.2*sz.cy), 0, nil, PWideChar(s),Length(s), nil);
 Form1.InsertControl(img);
end;


Добавлено через 4 минуты и 25 секунд
ps
Даже запись вида
Код

WideString:=#$9501#$9502#$9503#$9504;

в d7 не работает :(


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Чучмек
Дата 7.2.2013, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41





--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
EKoshelev
Дата 7.2.2013, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 509
Регистрация: 1.9.2004

Репутация: нет
Всего: нет



Akella, да, на TNT уже получилось. Просто стараюсь избегать использования нестандартных компонентов.


Чучмек, Спасибо, твой пример пашет. По крайней мере с греческими буквами.


--------------------
Вежливым и адекватным предлагаю общаться на "ты".
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0535 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.