Как нарисовать текст на 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);

Проблема решена.

Img.Canvas.Brush.Style := bsClear;
Другие вопросы по тегам