Einzelnen Beitrag anzeigen

cocsy

Registriert seit: 12. Jul 2011
30 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: Direct2D.Canvas in einer Bitmap speichern

  Alt 3. Apr 2023, 18:24
Kein Plan warum es genau mit SetDIBits scheitert, vielleicht stimmt was mit Pitch und Width nicht.

...
Delphi-Quellcode:
...
                        NumberOfScanLinesCopied := SetDIBits(VCLBitmap.Canvas.Handle, VCLBitmap.Handle, 0, VCLBitmap.Height, MappedRect.bits,
                          BitmapInfo, DIB_RGB_COLORS);
...
Der Fehler von "SetDIBits" ist jetzt gelöst

Delphi-Quellcode:
          const _DC = CreateCompatibleDC(0);
          Result := SetDIBits(_DC, ResBmap.Handle, 0, ResBmap.Height, mappedRect.bits, BmpInfo,
            DIB_RGB_COLORS) > 0;
Damit unter Win32 und Win64

___
ein ähnliches Problem gab es hier https://stackoverflow.com/questions/...-fail-on-win64 mit der gleichen Lösung
Jan

Geändert von cocsy ( 3. Apr 2023 um 18:34 Uhr) Grund: weitere Infos hinzugefügt
  Mit Zitat antworten Zitat