![]() |
Text auf Graphik schreiben
Hallo,
ich würde gerne einen Text einer Graphik überlagern. Den beschriebenen Weg über RichEditToCanvas ![]()
Delphi-Quellcode:
bekomme ich nicht hin. Die Graphik wird durch den Inhalt von Richedit überschrieben wird (sprich Leerzeilen löschen das Image).
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; 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 ? |
Re: Text auf Graphik schreiben
Evtl. malt das TJvRichEdit seine leeren Felder vollständig mit Weiß aus, sodass der Hintergrund dann überschrieben wird. Alternativ kannst du auch in deiner Zeichenfunktion ein Bitmap erstellen, welches die Maße des Zielbitmaps hat und dann auf das lokaler Bitmap das TJvRichEdit zeichnen kassen. Dann kopierst du das lokale Bild auf das Ausgangsbild mit
![]() Bernhard |
Re: Text auf Graphik schreiben
[ot]
Und bitte nicht Graphik (diese Schmerzen ;) ) ... entweder Grafik (deutsch) oder Graphic (englisch) Danke :) [/ot] //Edit: Ok, laut Duden ist es richtig ... aber diese Schmerzen ... selbst Google ist der Meinung, das das nicht stimmt |
Re: Text auf Graphik schreiben
[ot]Warum? Graphik ist laut Duden neben Grafik auch richtig.[/ot]
Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz