AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Text auf Graphik schreiben

Ein Thema von waldforest · begonnen am 18. Apr 2010 · letzter Beitrag vom 18. Apr 2010
Antwort Antwort
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
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Text auf Graphik schreiben

  Alt 18. Apr 2010, 09:01
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 MSDN-Library durchsuchenBitBlt und als letzten Parameter nutzt du SRCPAINT. Dann sollte sich das Ergebnis einstellen, was du erwartest.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Text auf Graphik schreiben

  Alt 18. Apr 2010, 12:03
[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
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

Re: Text auf Graphik schreiben

  Alt 18. Apr 2010, 12:14
[ot]Warum? Graphik ist laut Duden neben Grafik auch richtig.[/ot]

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 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