Bitmap transparent ...
-
Kann man bei den MFC auch eine transparente Farbe erstellen, sowie bei .NET mit
Pen pen;
pen.Color = Color.FromArgb(Alpha, rot, grün, blau); ?
Kann man bei einer CBitmap auch Pixel, setzen bzw lesen, auch mit einer trans-
parenten Farbe ?
-
Ich arbeite mit VS 2008 Standard VC++ MFC.
-
Das was du von .NET her kennst ist GDI+. GDI+ kannst du fast identisch auch mit der MFC benutzen. Allerdings gibt es dort eigene Klasse für Bitmaps und Co.
-
Maske defintiren ausgeben und gut...
http://www.codeproject.com/Articles/703/Drawing-Transparent-Bitmap-with-ease-with-on-the-f
http://www.codeproject.com/Articles/1667/CPJAImage-Yet-another-image-drawing-classUnd x andere mehr....
-
Entweder ich male die Maske selber ( vielleicht mit Paint ), oder ich generiere sie per Code. Die Klasse CBitmap hat die Member GetBitmapBit bzw SetBitmapBit. Beide erwarten einen Zeiger auf ein Byte-Array. Das ist gut für Pixel mit einem Byte Länge. Bitmaps können aber auch 24 Bit per Pixel haben ( Oder 32 ? ). Sind dann die Bytes für Rot, Grün, und Blau hintereinander geschrieben ? Es muss eine Möglichkeit geben, mit der ich eine Farbe für transparent erklären kann. Und vielleicht eine Möglichkeit, teilweise Transparenz einzurichten. Wie ?
-
Liest Du den Code nicht, den ich Dir gesendet habe?
Eine Bitmap kann alleine nicht transparent sein.
Man kann nur eine Bitmap Operation wählen, die zusammen mit einer Maske den Effekt hat, das Transparent gezeichnet wird. Genaugenommen eben nicht alles überschrieben wird.
-
Ich habe den Text von Dir Martin gelesen, er ist ziemlich umfangreich aber ok. Trotzdem interessiert mich noch die Handhabung von GetBitmapBits, und SetBitmapBits. Insbesondere das Format des Byte-Arrays.