15. Sept 2019, 22:02
VB-fun.de - Beitragsübersicht zum VB-/VBA-Forum-Archiv 0428
  VB6: Monochrome Bitmap-Maske für PlgBlt
 Von  NW90
 Am  26. April 2011 um 22:48:41
 Frage Hallo,

ich möchte die PlgBlt-API verwenden. Dazu kann man eine Bitmap als Maske für Transparenz angeben. Leider muss diese monochrom sein. D. h. es reicht nicht aus, wenn die Bitmap nur Schwarz und Weiß enthält. Sie muss auch wirklich nur 1 Bit pro Pixel im Speicher nutzen. Ich würde eine solche Bitmap aber gerne aus einer 24bit-Bitmap erstellen.
Mein Problem ist nicht die Konvertierung der Farben. Aber wie bekomme ich eine zweifarbige 24bit-Bitmap in eine reale 1bit-Bitmap konvertiert, sodass ich sie als Parameter für PlgBlt verwenden kann?

Danke für jede Hilfe
 Antwort:
 Von Neptun
 Am 28. April 2011 um 01:20:04
 Antwort Hallo NW90,
ja, das ist ein Bug. Die etwas unelegante Lösung besteht
darin, bei einem Drehwinkel von 180°, die Koordinaten
eines Eckpunktes um einen Pixel zu versetzen. Dadurch
entsteht kein exaktes Rechteck und der Fehler tritt
nicht auf. Die saubere, aber etwas aufwändige, Lösung
besteht darin, bei einem Drehwinkel von 180° die
Drehung mit StretchBlt (negative Breite und Höhe) in
einer weiteren Bitmap auszuführen und anschliessend
mit TransparentBlt in die Zielbitmap zu kopieren.

Gruss,

Neptun
[ VB-/VBA-Forum | Archiv 0428 | Archiv-Übersicht ]
 Antworten
VB6: Monochrome Bitmap-Maske für PlgBlt - NW90 26. April 2011 um 22:48:41
Re: Monochrome Bitmap-Maske für PlgBlt - Neptun 27. April 2011 um 00:38:03
Re: Monochrome Bitmap-Maske für PlgBlt - NW90 27. April 2011 um 14:45:12
Re: Monochrome Bitmap-Maske für PlgBlt - Frank 27. April 2011 um 21:41:32
Re: Monochrome Bitmap-Maske für PlgBlt - NW90 27. April 2011 um 21:48:46
Re: Monochrome Bitmap-Maske für PlgBlt - Neptun 27. April 2011 um 22:24:26
PlgBlt - Bug ? - NW90 28. April 2011 um 00:11:11
Re: PlgBlt - Bug ? - Neptun 28. April 2011 um 01:20:04
Re: PlgBlt - Bug ? - Frank 28. April 2011 um 06:47:38
Re: PlgBlt - Bug ? - NW90 28. April 2011 um 07:43:31
Re: PlgBlt - Bug ? - Frank 29. April 2011 um 06:28:26

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB-/VBA-Forum | DirectX | DirectX-Forum | VB.Net | VB.Net-Forum | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum