Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi GetDIBits erzeugt falsche Palette? (https://www.delphipraxis.net/24848-getdibits-erzeugt-falsche-palette.html)

Wusel 27. Jun 2004 13:37


GetDIBits erzeugt falsche Palette?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo an alle :)

Wie bereits im Topic erwähnt, habe ich ein Problem mit der Palette eines Icons/Bitmaps. Da ich selber während dem Lesen und dem Schreiben des Bildes keinerlei Veränderungen in der Palette vornehme, habe ich die Vermutung dass GetDIBits den Fehler verursacht. Ist dieses Problem bekannt oder hab doch ich einen Fehler gemacht? Oder muss ich die Palette vorher erst irgendwie umwandeln, bevor ich sie GetDIBits geben kann?
Ich hoffe einer von euch kann mir weiterhelfen


Wusel

Wusel 5. Jul 2004 18:26

Re: GetDIBits erzeugt falsche Palette?
 
hm ... :( hat noch niemand von euch ein ähnliches Phänomen beobachtet? Oder muss ich mir doch eine eigene GetDIBits Procedure schreiben?

Muetze1 5. Jul 2004 20:27

Re: GetDIBits erzeugt falsche Palette?
 
Moin!

Ich benutze GetDIBits() selber nicht und daher wundert es mich wozu du es überhaupt benutzt. Aber ansonsten kannst du das mit der Palette doch leicht nachprüfen mit einem GetDIBColorTable() vor und nach dem GetDIBits(). Ansonsten vielleicht ein falsches Objekt selektiert bzw. eine falsche Palette selektiert beim speichern?.

MfG
Muetze1

neolithos 5. Jul 2004 21:08

Re: GetDIBits erzeugt falsche Palette?
 
Problembeschreibung:

Es wird ein Bild aus der Icon-Datei ausgelesen, welches z.B. 16 Farben hat (also ein Palettenbild). Um dieses Bilddarzustellen wird es in ein dem Bildschirmentsprechendes Format umgewandelt -> SetDIBBits.

Nun soll das Bild aber, nach der Änderung durch den Nutzer, wieder in ein Paletten-Bild zurückgewandelt werden. Und in der Icon-Datei abgelegt werden.

Nun scheint es aber das GetDIBits <> SetDIBits ist.

Muetze1 5. Jul 2004 23:01

Re: GetDIBits erzeugt falsche Palette?
 
Moin!

Hmm, was mich wundert ist, das die GetDIBits eigentlich nur für Bitmaps ist und nicht für Icons. Dann ist für mich noch die Frage wie du bei GetDIBits das Handling für die Palette angegeben hast bzw. ob du diese dann auch ordentlich setzt...

MfG
Muetze1

neolithos 6. Jul 2004 09:00

Re: GetDIBits erzeugt falsche Palette?
 
Ein Icon besteht ja nur aus Bitmaps.

Und die Palette war beim letzten Stand des Codes via BitmapInfo-Struktur eingegangen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz