Qt: QImage speichert immer die transparente Farbe als schwarz

Wie Speichere ich eine Datei mit Transparenz, um eine JPEG-Datei ohne Qt Herstellung der transparenten Farbe schwarz?
Ich weiß, JPEG unterstützt keine alpha, und der schwarze ist wahrscheinlich nur ein Standard - "0" - Wert für alpha, aber schwarz ist eine schreckliche Standard-Farbe.

Wie es scheint, dies sollte eine einfache Bedienung, aber alle von der Maske und alpha-Funktionen, die ich ausprobiert habe werden ignoriert, beim speichern als JPEG.

Beispiel:

image->load("someFile.png"); //Has transparent background or alpha channel
image->save("somefile.jpg", "JPG"); //Transparent color is black

Habe ich versucht, Füll das Bild mit der weißen vor dem speichern als JPEG, Konvertierung des Bildes in ARGB32 (mit 8-bit alpha-Kanal), bevor Sie Sie speichern, und sogar versucht lächerlich langsamen Sachen wie:

QImage image2 = image1->convertToFormat(QImage::Format_ARGB32);
image2.setAlphaChannel(image1->alphaChannel());
image2.save(fileURI, "JPG", this->jpgQuality; //Still black!


See: http://67.207.149.83/qt_black_transparent.png for a visual.
Schreibe einen Kommentar