In
diesem Beitrag zeigt
Hawkeye219 einen Möglichen Weg zur Darstellung einer umrandeten Schrift, deren Schritart eine TrueType-Font sein muss. Diese Darstellung ist auch bekannt als "outlined" (im Anhang befindet sich ein Screenshot).
Delphi-Quellcode:
procedure DrawOutlinedText (aCanvas: TCanvas;
aPosX, aPosY: Integer;
aText:
string;
aFillColor: TColor;
aBorderColor: TColor;
aBorderWidth: Integer = 1);
var
DC : HDC;
OldMode : Integer;
begin
aCanvas.Brush.Color := aFillColor;
aCanvas.Pen.Color := aBorderColor;
aCanvas.Pen.Width := aBorderWidth;
DC := aCanvas.Handle;
OldMode := SetBkMode(
DC, TRANSPARENT);
BeginPath(
DC);
aCanvas.TextOut (aPosX, aPosY, aText);
EndPath(
DC);
FillPath(
DC);
BeginPath(
DC);
aCanvas.TextOut (aPosX, aPosY, aText);
EndPath(
DC);
StrokePath(
DC);
SetBkMode(
DC, OldMode);
end;
Ein Beispielaufruf wäre folgender:
Delphi-Quellcode:
procedure TForm1.Button11Click (Sender: TObject);
begin
Canvas.Font.Name := 'Arial';
Canvas.Font.Size := 96;
DrawOutlinedText (Canvas, 8, 8, 'Hallo Welt!', clYellow, clBlue, 2);
end;
Weitere Suchbegriffe: Rahmen, Umrandung