AGB  ·  Datenschutz  ·  Impressum  







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

Text auf image zeichnen ?

Ein Thema von thomas2009 · begonnen am 1. Aug 2008 · letzter Beitrag vom 1. Aug 2008
Antwort Antwort
thomas2009
(Gast)

n/a Beiträge
 
#1

Text auf image zeichnen ?

  Alt 1. Aug 2008, 11:00
Hallo
ein Code von CodeGear zeichnet den Text von Richedit auf Image
Tutorial
Das Problem: Die Formatierung in Richedit und auf Image ist nicht die Selbe
das Bild im Anhang zeigt das Ergebnis
Woran kann das liegen
Miniaturansicht angehängter Grafiken
richedit3_593.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Text auf image zeichnen ?

  Alt 1. Aug 2008, 13:58
Hallo, eine andere Möglichkeit wäre mittels EM_FORMATRANGE.

Beispiel von P. Below:

Delphi-Quellcode:
uses
  RichEdit;

procedure RichEditToCanvas(RichEdit: TRichEdit; 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;

procedure TForm1.Button1Click(Sender: TObject);
begin
  RichEditToCanvas(RichEdit1, Image1.Canvas, Self.PixelsPerInch);
  Image1.Refresh;
end;
Thomas
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#3

Re: Text auf image zeichnen ?

  Alt 1. Aug 2008, 14:54
ausgezeichnet ! Danke sehr
  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 05:06 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