Thema: Delphi Bitmap aus RTF erzeugen

Einzelnen Beitrag anzeigen

Hobbycoder

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

AW: Bitmap aus RTF erzeugen

  Alt 23. Jun 2017, 11:44
Habe ich grad mal versucht...keine Änderung.

Folgende Code funktioniert auf dem Formular und liefert mir eine Bitmap siehe Anhang 1:
Delphi-Quellcode:
var
  img: HDC;
begin
   richedit1.Lines.LoadFromStream(t.Arbeiten);
   t.ArbeitenBitmap.Height:=richedit1.Height;
   t.ArbeitenBitmap.Width:=richedit1.Width;
   img := GetDC(richedit1.Handle);
   BitBlt(t.ArbeitenBitmap.Canvas.Handle,
     0, 0, richedit1.Width, richedit1.Height,
     img, 0, 0,
     SRCCOPY
   );
   t.ArbeitenBitmap.SaveToFile(ExtractFilePath(Application.ExeName)+'arbeiten.bmp');
Und folgender Code im Object funktioniert nicht und liefert mir eine Bitmap siehe Anhang 2:

Delphi-Quellcode:
var
  MyRTF: TRichEdit;
  frm: TForm;
  img: HDC;
begin
   self.FArbeitenBitmap.Height:=Height;
   self.FArbeitenBitmap.Width:=Width;
   frm:=TForm.Create(Application);
   try
     //MyRTF:=TRichEdit.CreateParented(HWND_MESSAGE);
     MyRTF:=TRichEdit.Create(frm);
     Try
     MyRTF.Parent:=frm;
     MyRTF.Width:=Height;
     MyRTF.Height:=Width;
     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
     );
     finally
      MyRTF.free;
     End;
   finally
     frm.free;
   end;
Sollte doch eigentlich gehen. Woran kann das liegen?

Man kann das zweite Bild unten leder nicht so richtig sehen, ist aber da. Ist halt komplett weiß
Das linke Bild ist Anhang 1 und das rechte ist Anhang 2.
Miniaturansicht angehängter Grafiken
arbeitenbitmapausform.jpg   arbeitenbitmapausobject.jpg  
Angehängte Dateien
Dateityp: rar AlsBitmaps.rar (951 Bytes, 8x aufgerufen)
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat