![]() |
Farben in einem HBITMAP vertauschen
Ich habe ein 32-Bit Bitmap via LoadImage aus einer Datei geladen und möchte dieses nun in eine Toolbar einfügen. Das ganze soll jedoch transparent dargestellt werden, weshalb ich im Original den Hintergrund mit dem Farbwert FF00FF versehen habe.
Wie kann ich diese Farbwerte nun mit den Transparenzfarben vertauschen? |
Re: Farben in einem HBITMAP vertauschen
Moin!
Wieso setzt du nicht einfach FF00FF als Transparenzfarbe? Das sollte um Längen schneller gehen. Ansonsten müsstest du dir mit GetDIBits() die Rohdaten holen und durchlaufen... MfG Muetze1 |
Re: Farben in einem HBITMAP vertauschen
Wenn Du mir sagst wie, dann probier ich das.
Aus den Resourcen kann ich das Bild nicht laden, da bcc herumzickt, wenn ich ein Bitmap das mehr als 256 Farben hat als Resource einfügen möchte. CreateMappedBitmap scheidet meiner Ansicht nach also aus. |
Re: Farben in einem HBITMAP vertauschen
als transparentfarbe wird normalerweise garkeine genommen, wenn du gleich den alphakanal setzt
0 = unsichtbar 255 = nicht transparent.. dazwischen gibts alle transparenzstufen wenn ich z.b. ein TGAimage das einen alphakanal besitzt, auf eine Timagebox übertrage und die Timagebox auf transparent = true setze, dann werden die alpha werte angenommen und verrechnet ich weis nicht obs bei deiner toolbar auch so funktionieren könnte |
Re: Farben in einem HBITMAP vertauschen
@Lol-ly: Ich denke es liegt nicht daran das dein Bild mehr als 256 farben hat sondern das es kein GültigesBitmap-Format für den Ressourcencompiler ist. Mit welchem Programm hast du die Bitmap erstellt? Stelle einfach sicher das die Bitmap nicht komprimiert ist etc. und dann sollte es auch funktionieren die Datei als Ressource einzubinden.
|
Re: Farben in einem HBITMAP vertauschen
Mit Microsofts Visual Studio kannst du auch 32Bit-BMPs in Resourcen einfügen, sogar schon mit der 98er-Version. Borlands Resource-Manager sind sowieso extrem veraltet :?
|
Re: Farben in einem HBITMAP vertauschen
Moment, gehen wir mal der Reihe nach. Also Borlands ResCompiler kann auch 24bit und 32bit Bitmaps in die ResDateien packen. Ich hab ein 24bit Image mit MSPaint erstellt, hat der Compiler aber nicht angenommen. Mit welchem Prog kann ich ein unkomprimiertes Bild erstellen? Photoshop? Und wenn ja, wie?
|
Re: Farben in einem HBITMAP vertauschen
Ob das Bild komprimiert ist, hängt von dem Format ab, in dem du es speicherst.
Ich nehm meistens TIFF, wenns mal was besonderes werden soll. |
Re: Farben in einem HBITMAP vertauschen
TIFF bringt mich aber nicht weiter, es sollten am besten Bitmaps sein.
|
Re: Farben in einem HBITMAP vertauschen
Moin Lol-ly,
also ich habe gerade mit Picture Publisher einer 32 Bit Bitmap erzeugt, mit dem BRCC32 eine Resourcendatei erstellt, und, zum Testen, die Bitmap in ein TImage geladen. Keine Probleme. :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz