Форум: "Игры";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
Внизтекст в ддроу Найти похожие ветки
← →
Green_Templar © (2005-06-26 00:58) [0]Как выбрать шрифт, которым пишешь на канве у ддроу?
← →
Кефир87 © (2005-06-26 01:07) [1]Прям ДиректХ или ДелфиХ?
А то в делфиХ савсем просто:
DXDraw.Surface.Canvas.Font.Name = "Courier";
а ДирекХ я не знаю 8(
← →
злобная танька (2005-06-26 08:44) [2]нету у него канвы..
:(
← →
cyborg © (2005-06-26 08:44) [3]
Var
Surface : IDirectDrawSurface7;
LF: TLogFont;
Font : HFont;
DC : HDC;
...
FillChar(LF, SizeOf(LF), 0);
with LF do
begin
lfHeight := 14; //размер шрифта
lfWeight := fw_Normal; //fw_Normal - нормальный, FW_BOLD - жирный
lfUnderline:=1; //Подчёркнутый
lfItalic:=1; //Наклонный
lfCharSet:= RUSSIAN_CHARSET;
lfFaceName:="Arial"; //Название шрифта
end;
Font := CreateFontIndirect(@LF);
//Захват контекста поверхности (требуется для Windows API функции вывода текста)
if Surface.GetDC(DC)=0 then //Если удалось получить контекст поверхности
begin
SelectObject(DC,Font);
SetTextColor(DC,TextColor); //Установить цвет выводимого текста
SetBkMode(DC, TRANSPARENT); //Установить прозрачный фон выводимого текста
TextOut(DC, 0, 0, PChar(Text), Length(Text)); //Тут выводишь текст
//Освобождение контекста поверхности (обязательно после захвата контекста!)
Surface.ReleaseDC(DC);
end; //if Surface.GetDC(DC)=0
DeleteObject(Font); // Удаляем ненужный шрифт.
Самое главное не забывай освобождать ресурсы!
Surface.ReleaseDC
DeleteObject(Font);
К тому же этот вариант очень медленный. Делай свой спрайтовый шрифт.
← →
Green_Templar © (2005-06-27 00:33) [4]Получил исчерпывающие ответы, спасибо :) Неужели спрайтовый шрифт быстрее обычного?
Я пишу пока на дэлфиХ (на ней быстрее), но потом переведу или на чистый ДХ, или на его компонент.
Как называются шрифты с постоянной шириной символов, является ли Ариал таким шрифтом, и есть ли шрифты, где можно делать жёлыте буквы с чёрным контуром?
← →
Grell © (2005-06-27 02:26) [5]
> Неужели спрайтовый шрифт быстрее обычного?
Вообще все методы GDI медленны для DirectDraw, а спрайтовый шрифт - это просто блиттинг отдельных символов на поверхность, поэтому он и быстрее!
← →
Sphinx © (2005-06-27 06:43) [6]>есть ли шрифты, где можно делать жёлыте буквы с чёрным контуром?
Фотошоп и лубой шрифт :)
← →
NikeOLD © (2005-06-27 10:50) [7]
> Green_Templar © (27.06.05 00:33) [4]
Шрифты с постоянной шириной называются МОНОШИРИННЫМИ.
Arial и Times к таким шрифтам не относятся. Стандартный моноширинный шрифт в Винде - Courier
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c