Thema: Delphi Bitmap aus RTF erzeugen

Einzelnen Beitrag anzeigen

Hobbycoder

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

AW: Bitmap aus RTF erzeugen

  Alt 23. Jun 2017, 08:06
Danke, das löst schon mal der erste Problem.

Leider bekomme ich so
Delphi-Quellcode:
var
  MyRTF: TRichEdit;
  img: HDC;
begin
   self.FArbeitenBitmap.Height:=Height;
   self.FArbeitenBitmap.Width:=Width;
   MyRTF:=TRichEdit.CreateParented(HWND_MESSAGE);
   MyRTF.Width:=Width;
   MyRTF.Height:=Height;
   Self.FArbeiten.Position:=0;
   MyRTF.Lines.LoadFromStream(self.FArbeiten);

   Self.FArbeitenBitmap.Canvas.Lock;
   try
     myRTF.Perform(WM_PRINT, Self.FArbeitenBitmap.Canvas.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
     Self.FArbeitenBitmap.Canvas.Unlock
   end;
nur eine weiße Bitmap zurück.

Dann habe ich es noch mal so
Delphi-Quellcode:
var
  MyRTF: TRichEdit;
  img: HDC;
begin
   self.FArbeitenBitmap.Height:=Height;
   self.FArbeitenBitmap.Width:=Width;
   MyRTF:=TRichEdit.CreateParented(HWND_MESSAGE);
   MyRTF.Width:=Width;
   MyRTF.Height:=Height;
   Self.FArbeiten.Position:=0;
   MyRTF.Lines.LoadFromStream(self.FArbeiten);

   img := GetDC(MyRTF.Handle);
   BitBlt(Self.FArbeitenBitmap.Canvas.Handle,
     0, 0, MyRTF.Width, MyRTF.Height,
     img, 0, 0,
     SRCCOPY
   );
versucht, bekomme aber eine schwarze Bitmap.
Im Stream ist aber definitiv das richtige drin, den wenn ich mir das in ein Richedit lade, dass auf der Form liegt, wird es korrekt angezeigt.

Hast du da auch noch einen Tipp? Geht das so, außerhalb einer Form, überhaupt?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat