Thema: Delphi Bitmap aus RTF erzeugen

Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
930 Beiträge
 
#1

Bitmap aus RTF erzeugen

  Alt 22. Jun 2017, 18:34
Hi,

ich möchte aus einem RTF-Text eine Bitmap mit vorgegebenen Maßen erzeugen. Der RTF-Text liegt als MemoryStream in einem Object.
Mein erster Gedanke war, mir in einer Procedure im Object temporär ein TRichEdit zu erzeugen und dann (wie hier ) mir daraus eine das ganze in ein Bitmap zu kopieren.
Delphi-Quellcode:
var
   MyRTF: TRichEdit;
begin
   self.FArbeitenBitmap.Height:=Height;
   self.FArbeitenBitmap.Width:=Width;
   MyRTF:=TRichEdit.Create(nil);
   MyRTF.Width:=Width;
   MyRTF.Height:=Height;
   Self.FArbeiten.Position:=0;
   MyRTF.Lines.LoadFromStream(self.FArbeiten); // <---Hier knallt's dann mal

   with Self.FArbeitenBitmap.Canvas do
   begin
     Lock;
     try
       myRTF.Perform(WM_PRINT, Handle, PRF_CLIENT);
       //you can trying to change PRF_CLIENT with
       //PRF_CHILDREN or PRF_CLIENT or PRF_NONCLIENT or PRF_ERASEBKGND
       //or combine them. See what happen...
     finally
       Unlock
     end;
   end;
Allerdings kann ich mir den Stream nicht in das RichEdit laden, weil es kein Parent hat. Parent hab ich auch nicht, weil es ja nur ein Object ist. Jetzt dachte ich mir, ich könnte ja mittels CreateWnd sowas wie ein unsichtbares Fenster erzeugen, und das Richedit damit zufrieden stellen.
Wäre das so denkbar? Wenn ja, wie macht das das? Wenn nein, wie könnte man das besser machen?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat