Einzelnen Beitrag anzeigen

Yakumo500

Registriert seit: 15. Nov 2008
Ort: Darmstadt
106 Beiträge
 
#1

Direct2D Funktion ähnlich ExtTextout

  Alt 17. Sep 2011, 09:40
Hi,

Mit GDI kann man ja Text mit Abstand zwischen den einzelnen Zeichen ausgeben.
Mein Code:
Delphi-Quellcode:
procedure TGDIModule.DrawText(const X, Y: Integer; const Rect: TRect; const Text: string);
var DistanceList: PIntegerArray;
    i: Integer;
    CurChar: Char;
    StrLen: Integer;
begin
  StrLen := Length(Text);

  GetMem(DistanceList, StrLen * SizeOf(Integer));
  for i := 0 to StrLen - 1 do
  begin
    CurChar := Text[i + 1];
    DistanceList[i] := CharWidth{ Die Breite eines Zeichens. Wobei alle Zeichen gleich breit sein müssen } + FTextSpacing;
  end;

  ExtTextOut(FCanvasHandle, X, Y, ETO_CLIPPED, @Rect, PChar(Text), StrLen, Pointer(DistanceList));
  FreeMem(DistanceList);
end;
FTextSpacing kann ich dann auf unterschiedliche Werte setzen und der Abstand zwischen 2 Buchstaben ist größer oder kleiner.
Jetzt wollte ich Direct2D zum Zeichnen benutzen aber ich finde keine Funktion bei der ich den Abstand setzen kann.
Wisst ihr Hilfe?
  Mit Zitat antworten Zitat