Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Farben in einem HBITMAP vertauschen (https://www.delphipraxis.net/36831-farben-einem-hbitmap-vertauschen.html)

Lol-ly 26. Dez 2004 17:06


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?

Muetze1 26. Dez 2004 17:24

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

Lol-ly 31. Dez 2004 14:21

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.

supermuckl 31. Dez 2004 15:27

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

SirThornberry 31. Dez 2004 16:02

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.

Dax 31. Dez 2004 16:05

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 :?

Lol-ly 1. Jan 2005 11:37

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?

Ultimator 1. Jan 2005 11:40

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.

Lol-ly 1. Jan 2005 11:54

Re: Farben in einem HBITMAP vertauschen
 
TIFF bringt mich aber nicht weiter, es sollten am besten Bitmaps sein.

Christian Seehase 1. Jan 2005 13:20

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 13:27 Uhr.
Seite 1 von 3  1 23      

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