Вниз
Скачать: CL | DM;

delphiX вывод текста   Найти похожие ветки 

← →
TButton ©   (2004-01-21 18:05) [0]

что давно хотел спросить, как лучше сабж реализовать. В принципе у меня есть способ реализации и даже два.
1. Это спрайтовый текст. рисуем таблицу буковков пилим ее (patternHeight, width) рисуем буковки по ее Орду
2. Рисуем на спрайте текст, обновляем имадж лист, рисуем спрайт.

но у обоих методов есть недостатки
1. Буковки должны быть одной ширины, иначе будет черезчур погано
2. Очень уж медленно он работает.

можно выводить текст прям на surface.canvas, но это еще хуже.

есть у кого-нибудь (а я точно знаю, что у кого-нибудь да есть) наработки на эту тему, поделитесь пожалста опытом (ХР).


← →
miek ©   (2004-01-21 20:57) [1]

Ну и фантазия. Все проще. Лочишь поверхность, получаешь DC ее, потом на него хоть тонну текста упиши. Разлочить потом не забудь только.


← →
TButton ©   (2004-01-22 11:56) [2]

от до етого я не додумался. а можно подробнее... т.е. кода кусок бы(можно на мыло)


← →
miek ©   (2004-01-22 20:38) [3]

ДельфиХ не использую, так что могу только на голом API:

secondarysurface.GetDC( dc);
selectobject( dc, getstockobject( ansi_var_font));
setbkcolor( dc, 0);
setbkmode( dc, transparent);
settextcolor( dc, clwhite);

r1:= makerect( 0, 0, 640, 31);
drawtext( dc, pchar( fpsstring), length( fpsstring), r1, dt_left);
secondarysurface.ReleaseDC( dc);

Лочить, как я вспомнил, не обязательно. Вся эта красота ни на процент не снижает FPS.


← →
cyborg ©   (2004-01-22 21:43) [4]

>>Лочить, как я вспомнил, не обязательно
Всё это GetDC( dc); и ReleaseDC( dc); и есть захват контекста, типа лочить.
>>Вся эта красота ни на процент не снижает FPS
Это заблуждение, снижает и очень сильно.


← →
miek ©   (2004-01-23 16:41) [5]

Я именно сейчас исследую этот вопрос, на карточке S3 Virge - вывод небольшого количества текста (около 40 символов в кадре) не снижает моих 60 FPS. Делаю вывод, что так и должно быть.


← →
Sapersky ©   (2004-01-23 23:20) [6]

http://www.geocities.com/foetsch/bmpfonts/bmpfonts.htm


← →
cyborg ©   (2004-01-24 00:47) [7]

[5] miek ©   (23.01.04 16:41)
Если поверхть в оперативной памяти, то это не сильно заметно, а вот когда в видеопамяти.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1084735371
Chlavik
2004-05-16 23:22
2004.05.30
TGraphicControl и его отрисовка за пределами его :)


14-1084441323
TUser
2004-05-13 13:42
2004.05.30
AutoCAD?


4-1082308394
8ung
2004-04-18 21:13
2004.05.30
Какое сообщение посылается, при доступе к какой-нибудь дирректори


7-1082477705
tyoma
2004-04-20 20:15
2004.05.30
Поиск установленного ПО


14-1083991656
Korneley
2004-05-08 08:47
2004.05.30
Как посчитать расстояние в метрах по географическим координатам?




   Наверх