Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > [VC6][DirectDraw][Вывод Текста]


Автор: GoldMan 19.11.2002, 20:36
Помогите плз.
Не знаю, как вывести текст на экран в DDraw:
Есть поверхность, куда спрайты рисуются. Нужно на нее вывести
некоторые их характеристики(Например, координаты, направление).

Заранее спасибо.

Автор: Mikel 20.11.2002, 00:31
Нарисовать на канвасе, а затем сделать BitBlt на поверхность.

Автор: GoldMan 20.11.2002, 00:38
В смысле сначала нарисовать на другую поверхность?

P.S. Что такое канвас?

Автор: Baa 20.11.2002, 09:21
TextOut

Автор: Mikel 22.11.2002, 04:59
В Delphi у меня есть дополнительная библиотека для загрузки bitmap'a на поверхность. Может и в С есть, надо только найти.
Выглядело это как создание битмапа, рисование на его канвасе (TCanvas), а затем копирование в дополнительную поверхность.

Автор: GoldMan 25.11.2002, 16:03
В С тоже можно на поверхность битмэп загрузить(это стд. функция DirectDraw).
Проблема в том, что чтобы изменить текст на поверхности, нужно эту поверхность
восстановить(RestoreAllSurfaces), а это долго, т.к. восстанавливаются сразу все поверхности. В результате прога тормозит. Хотелось бы узнать, как можно восстановить только одну поверхность, или как обойтись без этого.

Автор: Mikel 25.11.2002, 23:42
А _restore не тоже самое для одной поверхности делает?

Автор: GoldMan 29.11.2002, 04:24
Спасибо, разобрался.
Если интересно, в чем заключалась проблема:
Просто все поверхности были нестандартного класса(т.е. у них были
дополнительные функции и член стандартного класса. Естественно,
многие стандартные не переназначались, поэтому я и не мог найти нужные
функции(Surface->DrawText,Surface->Restore).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)