Hier für alle die Erklärung aus dem englischen Forum:
Beim erstellen eines PB-Images mit #PB_Image_DisplayFormat, wird wohl
ein Geräteabhängiges Bild erstellt und hat somit eine bessere Performance.
Wenn man auf die Pixel zugreifen will, muss man sich zunächst freien Speicher
allokieren und mit GetDIBits_() übertragen. Die DDB wird dabei in eine DIB umgewandelt. D.h. Bits holen, bearbeiten und wieder zurückschreiben.
Das ganze hat auch den Vorteil das man sich auf eine Farbtiefe festlegen kann und braucht nicht Routinen für 32, 24, 16, 8 Bit etc. zu schreiben..
Problem mit dem Handle von images bei 32 Bit images
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Re: Problem mit dem Handle von images bei 32 Bit images
Hört hier eigentlich keiner zu?Fluid Byte hat geschrieben:Du musst die Bittiefe explizit angeben damit es für 32-Bit funktioniert.If 'Depth' is omitted or set to #PB_Image_DisplayFormat, the image format is taken from the desktop format. Valid 'Depth' values can be: 1, 2, 4, 8, 16, 24 and 32 bits. When manipulating true colors formats, and want save back the modifications without color information loss, it's advised to use the 24 or 32 bits values. If the images are only used for displaying on the screen, #PB_Image_DisplayFormat will provide faster performances.
Windows 10 Pro, 64-Bit / Outtakes | Derek
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
http://www.myspace.com/continentaltrainwreck ?dige hat geschrieben:Nö, ich höre gerade ContinentalTrainWreck..![]()
Die klingen irgendwie so als würden sie sich gleich die Pulsadern aufschlitzen ...
Steht doch da ...dige hat geschrieben:Aber um auf Deine Anspielung zurückzukommen, ich konnte Deinem Post nix entnehmen, warum es mit der Angabe der BitTiefe funktioniert und mit #PB_Image_DisplayFormat nicht..
Gibst du die Bittiefe nicht an bzw. setzt das #PB_Image_DisplayFormat Flag wird ein anderes Bitmapformat benutzt. Das eine geräteabhängig das andere nicht. Somit können sie beide 32-Bit benutzen sind aber anderes aufgebaut. Ob das eine nun DIB oder das andere DDB ist spielt dabei keine Rolle denn die Hilfe weist drauf hin das ein unterschiedliches Format benutzt wird.
Außerdem funktioniert der Code doch wenn man eine Bittiefe auf 32-Bit setzt. Wo is' dat' Problem?
Windows 10 Pro, 64-Bit / Outtakes | Derek