Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Delphi, Вывод прозрачного текста на битмап 18.09.03 20:36 Число просмотров: 924
Автор: Cyril <sc> Статус: Member
|
Решил я по быстрому слепить программу которая будет выводить на
битмап текстовую строку. И все бы хорошо, но столкнулся со следующим
глюком(привожу два фрагмента) в первом текст выводится непрозрачным
во втором все нормально, если кто догадался в чем дело, то очень хотелось бы услышать объяснение(компилилось все на D5)
(Фрагмент 1, не работает)
procedure TForm1.SaveAlToBitmapClick(Sender: TObject);
var
i : integer;
FBitmap : TBitmap;
myText : string;
begin
ListBox.Items.LoadFromFile('c:\users\cyril\cards\names.txt');
FBitmap := TBitmap.Create;
try
for i := 0 to ListBox.Items.Count-1 do begin
myText := ListBox.Items[i];
FBitmap.LoadFromFile('c:\users\cyril\cards\template.bmp');
FBitmap.Canvas.Font.Assign(FontDialog.Font);
SetBkMode(FBitmap.Canvas.Handle, TRANSPARENT);
FBitmap.Canvas.TextOut(0,0 , {myText}ListBox.Items[i]);
^^^^^^^^^^^^^^^^
FBitmap.SaveToFile('image'+inttostr(i)+'.bmp');
end;
finally
FBitmap.Free;
end;
end;
(Фрагмент 2, все работает как надо)
procedure TForm1.SaveAlToBitmapClick(Sender: TObject);
var
i : integer;
FBitmap : TBitmap;
myText : string;
begin
ListBox.Items.LoadFromFile('c:\users\cyril\cards\names.txt');
FBitmap := TBitmap.Create;
try
for i := 0 to ListBox.Items.Count-1 do begin
myText := ListBox.Items[i];
FBitmap.LoadFromFile('c:\users\cyril\cards\template.bmp');
FBitmap.Canvas.Font.Assign(FontDialog.Font);
SetBkMode(FBitmap.Canvas.Handle, TRANSPARENT);
FBitmap.Canvas.TextOut(0,0 , myText]);
^^^^^^^^
FBitmap.SaveToFile('image'+inttostr(i)+'.bmp');
end;
finally
FBitmap.Free;
end;
end;
|
- [Win32] Delphi, Вывод прозрачного текста на битмап - Cyril 18.09.03 20:36 [924]
|
|
|