Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Schrift Umrandung (Outline) auf Image realisieren

  Alt 5. Jun 2007, 10:43
Hallo,

ich habe meinen Code aus Beitrag #5 etwas erweitert:

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;


procedure TForm1.Button11Click (Sender: TObject);
begin
  Canvas.Font.Name := 'Arial';
  Canvas.Font.Size := 96;
  DrawOutlinedText (Canvas, 8, 8, 'Hallo Welt!', clYellow, clBlue, 2);
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat