Как нарисовать текст на TCanvas без белого фона под нарисованным текстом?
Я пишу простой редактор изображений для моего проекта.
Там вы можете увидеть изображение в редакторе:
Выше TImage я разместил несколько TLabel.
В предварительном просмотре вы можете увидеть результат отрисовки TLabels на изображении:
Для рисования TLabels я написал этот код:
procedure TPrintForm.BuildPreview(aSsignTo: TImage);
var
Img: TBitmap;
i: Integer;
begin
Img := TBitmap.Create;
try
Img.Assign(fSrcBitmap);
for i := 0 to Count - 1 do
begin
Img.Canvas.Font := Items[i].Text.Font;
Img.Canvas.TextOut(Items[i].Text.BoundsRect.TopLeft.X - Items[i].Text.Font.Size,
Items[i].Text.BoundsRect.TopLeft.Y - Items[i].Text.Height -
Items[i].Text.Font.Size, Items[i].Text.Caption);
end;
aSsignTo.Picture.Assign(Img);
finally
FreeAndNil(Img);
end;
end;
В результате у меня есть изображение, на котором нарисованный TLabel имеет белый фон под текстом. Как нарисовать TLabel без него?
2 ответа
Решение
Спасибо всем за ответы. Я нашел решение здесь:
SetBkMode(Img.Picture.Bitmap.Canvas.Handle,TRANSPARENT);
Проблема решена.