Einzelnen Beitrag anzeigen

waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#1

Text auf Graphik schreiben

  Alt 18. Apr 2010, 08:27
Hallo,
ich würde gerne einen Text einer Graphik überlagern. Den beschriebenen Weg über RichEditToCanvas

http://www.delphipraxis.net/internal...chedittocanvas

Delphi-Quellcode:
procedure RichEditToCanvas(RichEdit: TJvRichEdit; Canvas: TCanvas; PixelsPerInch: Integer);
var
  ImageCanvas: TCanvas;
  fmt: TFormatRange;
begin
  ImageCanvas := Canvas;
  with fmt do
  begin
    hdc := ImageCanvas.Handle;
    hdcTarget := hdc;
    // rect needs to be specified in twips (1/1440 inch) as unit
    rc := Rect(0, 0,
      ImageCanvas.ClipRect.Right * 1440 div PixelsPerInch,
      ImageCanvas.ClipRect.Bottom * 1440 div PixelsPerInch);
    rcPage := rc;
    chrg.cpMin := 0;
    chrg.cpMax := RichEdit.GetTextLen;
  end;
  SetBkMode(ImageCanvas.Handle, TRANSPARENT);
  RichEdit.Perform(EM_FORMATRANGE, 1, Integer(@fmt));
  // next call frees some cached data
  RichEdit.Perform(EM_FORMATRANGE, 0, 0);
end;
bekomme ich nicht hin. Die Graphik wird durch den Inhalt von Richedit überschrieben wird (sprich Leerzeilen löschen das Image).

Ziel ist, den Hintergrund als Vorlage (Briefpapier) zu nutzen.

Die Jedi RichEdit kann zwar die Graphik anzeigen, allerdings habe ich keine Möglichkeit gefunden, hier Text zu überlagern.

Hat jemand einen Tipp ?
mfg wf
  Mit Zitat antworten Zitat