Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Grafik / Sound / Multimedia (https://www.delphipraxis.net/21-library-grafik-sound-multimedia/)
-   -   Delphi True-Type-Schriftart mit Umrandung darstellen (Outlined) (https://www.delphipraxis.net/93526-true-type-schriftart-mit-umrandung-darstellen-outlined.html)

Matze 7. Jun 2007 06:43


True-Type-Schriftart mit Umrandung darstellen (Outlined)
 
Liste der Anhänge anzeigen (Anzahl: 1)
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz