![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 16.10.2010
Сообщений: 47
|
![]()
Доброго времени суток!
Стоит задача выводить на произвольной ширины битмапе текст. Текст может быть длиннее, чем ширина битмапа. Нужен алгоритм, который выводит текст, разбивая его на строки (если в одну строку не влезает) и центруя. Если у кого-то завалялся такой алгоритм - буду признателен. Заранее спасибо за ответы. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 305
|
![]()
В WinApi есть функция, которая умеет делать все, что вы перечислили. Название точно не помню. Сейчас попробую поиска.
UPD Ага. В классе TCanvas есть метод TextRect, у которого есть параметр TextFormat. Это обертка над функцией DrawTextEx. Код:
Последний раз редактировалось kangreon; 06.01.2013 в 20:20. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 16.10.2010
Сообщений: 47
|
![]()
Благодарю, воспользовался DrawText. Но батюшки, как же она тормозит (рисование на канве десяти строк текста - 200 мс. в среднем).
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 305
|
![]()
Странно, что тормозит. Я тут набросал процедуру, выводящую текст в рамку с выравниванием по центру. Рисует текст на форме, в событии OnPaint, мнгновенно. TDateTime показывает 0.000-0.015. Попробуйте ее.
Код:
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 20.01.2010
Сообщений: 9
|
![]() Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
рисование на Bitmap с PixelFormat.Format1bppIndexed | jetyb | Общие вопросы .NET | 0 | 15.11.2012 11:34 |
В Билдере есть какой-нибудь компонент для многострочного вывода текста, аналогично Edit? | Наталия 555 | C++ Builder | 4 | 15.06.2011 13:12 |
32bpp bitmap вывод текста через GDI+ | Celestia | Мультимедиа в Delphi | 1 | 30.11.2010 19:07 |
Рисование выделяемого текста | tigrantairov | Win Api | 0 | 01.03.2010 22:54 |
из-за чего появляется полоса (на скрине) при вставке BitMap в TImage? - Проблема с Bitmap | Grey@2009 | Мультимедиа в Delphi | 2 | 02.01.2010 20:23 |