[gelöst] Halbtransparenz von QPixmaps (Qt4.1)
Verfasst: 9. Februar 2006 20:50
Hi,
Gibt es eine Möglichkeit, ein QPixmap zu einem gewissen Teil transparent zu zeichnen, also daß das darunter liegende durchscheint? Ich vermute, die Alpha Funktionen hängen damit zusammen, allerdings ist die Doku da nicht wirklich hilfreich (zB "QPixmap::setAlphaChannel => Sets the alpha channel of this pixmap to alpha" Nein sowas aber auch, da wäre ich nie drauf gekommen)
Hintergrund: Ich konvertiere eine kleine, sagen wir mal "Designstudie", die ich irgendwann mal mit SDL angefangen, mich dann aber im Signalhandling ein wenig verheddert habe, nach Qt (um festzustellen, daß es damit generell viel besser geht). Es geht (zunächst) darum, ein eigenes Widget mit Tiles zu füllen, um eine Iso3d Oberfläche, in dem Fall eine Karte, zu erhalten.
Für die hartnäckigen Screenshot-Forderer: das Bild verdeutlicht wohl etwas mein Anliegen.
Der nächste Schritt ist nun, die Karte mit dem obligatorischen FOW (Fog of War) abzudecken. Dazu gibt es einmal eine komplett schwarze Fläche für unentdecktes Land und eine semi-transparente Fläche für entdecktes Land, das aber gerade nicht in Sichtweite einer Einheit ist (was später vielleicht mal folgt). Mit SDL kann man die Semitransparenz einfach über SetAlpha einstellen, mit Qt...tja! Wäre schade, wenn ich das über eine Rastermaske machen müßte.
Gibt es eine Möglichkeit, ein QPixmap zu einem gewissen Teil transparent zu zeichnen, also daß das darunter liegende durchscheint? Ich vermute, die Alpha Funktionen hängen damit zusammen, allerdings ist die Doku da nicht wirklich hilfreich (zB "QPixmap::setAlphaChannel => Sets the alpha channel of this pixmap to alpha" Nein sowas aber auch, da wäre ich nie drauf gekommen)
Hintergrund: Ich konvertiere eine kleine, sagen wir mal "Designstudie", die ich irgendwann mal mit SDL angefangen, mich dann aber im Signalhandling ein wenig verheddert habe, nach Qt (um festzustellen, daß es damit generell viel besser geht). Es geht (zunächst) darum, ein eigenes Widget mit Tiles zu füllen, um eine Iso3d Oberfläche, in dem Fall eine Karte, zu erhalten.
Für die hartnäckigen Screenshot-Forderer: das Bild verdeutlicht wohl etwas mein Anliegen.
Der nächste Schritt ist nun, die Karte mit dem obligatorischen FOW (Fog of War) abzudecken. Dazu gibt es einmal eine komplett schwarze Fläche für unentdecktes Land und eine semi-transparente Fläche für entdecktes Land, das aber gerade nicht in Sichtweite einer Einheit ist (was später vielleicht mal folgt). Mit SDL kann man die Semitransparenz einfach über SetAlpha einstellen, mit Qt...tja! Wäre schade, wenn ich das über eine Rastermaske machen müßte.