Huidaho,
vielleicht stelle ich mich momentan einfach nur zu doof an aber ich komm nicht dahinter. Ich möchte ein transparentes PNG über anderen Inhalt platzieren, in diesem Falle ein Bild.
Das Pixmap kommt aus ner Mime Source und wird in ein QLabel gesetzt. Leider hat das QLabel immer einen Hintergrund. Wie bekommt man den den transparent oder muss man sich hier mit Masken auseinandersetzen ?
Kama
Transparentes Image über anderen Inhalten
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Bild ganz transparent:
Pixel in PNGs Transparent darstellen:
Code: Alles auswählen
QPixmap pix( 16, 16 );
pix.fill( Qt::color0 );
QBitmap mask( pix.size(), true );
pix.setMask( mask );
Code: Alles auswählen
for (int height = 0; height < img.height(); height++)
{
for (int width = 0; width < img.width(); width++)
setPixel1BPP(img2, width, height, qAlpha(img.pixel(width, height)) >= 70);
}
QBitmap mask;
mask.convertFromImage(img2);
pix->setMask(mask);
void Xgq3Base::setPixel1BPP(QImage &image, int x, int y, bool value)
{
if ( image.bitOrder() == QImage::LittleEndian )
{
if (value)
*(image.scanLine(y) + (x >> 3)) |= 1 << (x & 7);
else
*(image.scanLine(y) + (x >> 3)) &= ~(1 << (x & 7));
}
else
{
if (value)
*(image.scanLine(y) + (x >> 3)) |= 1 << (7-(x & 7));
else
*(image.scanLine(y) + (x >> 3)) &= ~(1 << (7-(x & 7)));
}
}
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten: