|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.01.2013, 19:07 | #1 |
Пользователь
Регистрация: 16.10.2010
Сообщений: 47
|
Рисование многострочного текста BitMap
Доброго времени суток!
Стоит задача выводить на произвольной ширины битмапе текст. Текст может быть длиннее, чем ширина битмапа. Нужен алгоритм, который выводит текст, разбивая его на строки (если в одну строку не влезает) и центруя. Если у кого-то завалялся такой алгоритм - буду признателен. Заранее спасибо за ответы. |
06.01.2013, 20:13 | #2 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 305
|
В WinApi есть функция, которая умеет делать все, что вы перечислили. Название точно не помню. Сейчас попробую поиска.
UPD Ага. В классе TCanvas есть метод TextRect, у которого есть параметр TextFormat. Это обертка над функцией DrawTextEx. Код:
Последний раз редактировалось kangreon; 06.01.2013 в 20:20. |
07.01.2013, 15:51 | #3 |
Пользователь
Регистрация: 16.10.2010
Сообщений: 47
|
Благодарю, воспользовался DrawText. Но батюшки, как же она тормозит (рисование на канве десяти строк текста - 200 мс. в среднем).
|
08.01.2013, 00:24 | #4 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 305
|
Странно, что тормозит. Я тут набросал процедуру, выводящую текст в рамку с выравниванием по центру. Рисует текст на форме, в событии OnPaint, мнгновенно. TDateTime показывает 0.000-0.015. Попробуйте ее.
Код:
|
03.12.2021, 13:02 | #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 |