-
> [19] Дельфин (20.09.07 22:22) > Canvas.Brush.Style:=bsClear;
а где Bitmap. ?
-
> homm © (20.09.07 22:23) [20] > > [19] Дельфин (20.09.07 22:22)> Canvas.Brush.Style:=bsClear; > а где Bitmap. ?
Ну конечно же Bitmap!
Bitmap.Canvas.Brus.Style:=bsClear;
Bitmap.Canvas.TextOut(110,204,Player.Name);
Тот же результат - фон - черный прямоугольник - текст
-
TImage - зло
-
Проблема с выводом текста на канву решен. Воспользовался компонентом CoolForm, в составе которого есть TransparentMemo. После выделения области для текста появляется TransparentMemo в который ввожу текст. По завершению ввода текста передаю лайны (TransparentMemo.lines.strings[]) TextRect'у. Скрываю TransparentMemo. Усе. Всем удачи.
-
А без компонентов, тем паче сторонних что никак невозможно вывести текст на канву без прямоугольника, в который он вписан? Что-то слабо верится...
> Fenik © (21.09.07 09:30) [22] > TImage - зло
Это было в чей адрес? Я и не думал им пользоваться!
-
По поводу текста без ненужного фона... А как делают шрифт в играх? Типа я встречал файл *.bmp, в котором написан весь алфавит. И в игре он выводится нормально... В каких программах можно сделать такой файл содержаший весь алфавит?
-
в пайнте. шрифты эти делают по простой причине - они не зависят от шрифтов системы, на них можно делать эффекты и они быстро рисуются. можно такое сделать и в дельфи, не сложно ведь
-
> > TImage - зло > > Это было в чей адрес? Я и не думал им пользоваться
Это было в адрес TImage'а. паинт - тоже зло.
-
> [27] Denis_ © (23.09.07 12:43) > паинт - тоже зло
Паинт - TPaintBox? А что же не зло-то тогда? :) И почему паинт - зло? :)
-
> antonn © (22.09.07 19:43) [26] > в пайнте.шрифты эти делают по простой причине - они не зависят > от шрифтов системы, на них можно делать эффекты и они быстро > рисуются.можно такое сделать и в дельфи, не сложно ведь
То есть потом со шрифтом работают как со спрайтом? типа спрайт со множеством кадров анимации? Каждая анимация - отдельная буква, я правильно понимаю?
-
mspaint как раз не зло, очень удобный, а главное очень быстрый и позволяет увеличивать в 10 раз и точно не промахиваясь работать с пикселями.
> > То есть потом со шрифтом работают как со спрайтом? типа > спрайт со множеством кадров анимации? Каждая анимация - > отдельная буква, я правильно понимаю?
ээ, ну да, наверное:) просто берется позиция букквы в алфавите, умножается на ширину одной буквы в битмапе и координата Х готова (ну эт для моношириных шрифтов), а потом просто копируется куда нужно
-
Кстати, а где достать программу для создания таких шрифтов. Весь яндекс облазил - находил только версии, которые делают английскую раскладку шрифта, а мне нужна русская! Обычного Courier New.
-
можно и самому написать, примерно так: procedure TForm1.Button1Click(Sender: TObject);
var i,w,h:integer; bt:tbitmap;
begin
bt:=tbitmap.Create;
try
bt.Canvas.Font.Name:='Courier New';
bt.canvas.Font.Size:=12;
h:=0;
w:=0;
for i:=32 to 255 do begin
if(h<bt.Canvas.TextHeight(char(i))) then h:=bt.Canvas.TextHeight(char(i));
w:=w+bt.Canvas.TextWidth(char(i));
end;
bt.Width:=w;
bt.Height:=h;
w:=0;
for i:=32 to 255 do begin
bt.Canvas.TextOut( w, h-bt.Canvas.TextHeight(char(i)), char(i));
w:=w+bt.Canvas.TextWidth(char(i));
end;
bt.SaveToFile('C:\111.bmp');
finally
bt.Free;
end;
end;
-
> [31] Дельфин (25.09.07 11:05)
А что, использовать тот Courier New, что в системе установлен, религия не позволяет?
-
> [32] antonn © (25.09.07 12:31)
Курьер могоширийный :)
-
> Курьер могоширийный :) >
мне пофиг, я показал как выводить, а там уж можно и сделать как себе удобней :)
-
> > А что, использовать тот Courier New, что в системе установлен, > религия не позволяет?
если испульзется 3Д то, как мне думается (я плохо знаю, но смею думать:)), было бы куда быстрее выводить буковки спрайтами, нагружая на этот процесс видеокарту, а не мучать "рендер" винды с процессором. К тому же на корейской винде не будет кракозябров со спрайтами %)
-
> [36] antonn © (25.09.07 12:36) > если испульзется 3Д
Ты сабж читал? :)
-
мы уже давно то сабжа отошли :)
-
Все, уже не нужно. Написал программу, создающую BMP шрифт - супер! Без проблем можно работать со шрифтами, у которых различаются ширина разных символов, так что вообще отлично. Плюс проще находить символы - они расписаны не рядами, а в строчку. В общем - здорово! Приятно, когда сам находишь выход из ситуации.
|