Seite 1 von 1
QImage speichern -> Transparenz
Verfasst: 11. Februar 2009 03:47
von raven-worx
Hi,
habe eine QImage mit der transformed-Funktion und einer QMatrix rotiert.
Beim Speichern des rotierten QImages werden bei "transparent-kompatiblen" Grafik-Formaten die entstandene transparenz mitübernommen. Bei JPG-Dateien z.b. werden die transparenten Pixel schwarz dargestellt.
Nun meine Frage ob man die Farbe der transparenten Pixel irgendwie wählen kann?
danke.
mfg
Verfasst: 11. Februar 2009 19:09
von upsala
Du brauchst doch dein QImage nur einfärben...
Verfasst: 11. Februar 2009 19:16
von raven-worx
wie meinst du das genau?
ich lade ein bestehendes Image-File in meine Applikation (als QImage), rotiere es und will die entstehenden Transparenzen einfärben. Aber nicht das ganze Bild.
mfg
Verfasst: 11. Februar 2009 19:32
von upsala
Wenn man schon mal Gimp oder ein ähnliches Grafikprogramm benutzt hat, sollte man wissen, wie man nur den Alpha-Teil einer Grafik einfärbt.
Verfasst: 11. Februar 2009 19:37
von raven-worx
hmm... naja mir is zur Zeit ein wenig fad, darum die Frage im Forum....
Wenn ich es wüsst würd ich ja wohl nicht fragen. Verstehe nicht, warum ich keine verständlihe Antwort auf meine Frage bekomme...
Verfasst: 12. Februar 2009 11:36
von androphinx
Hallo erstmal,
@upsala: Hier würde ich auch gerne mal wissen wie du das machen willst...
@raven: was macht das für einen sinn ein bild mit transparenz in einem nicht-transparenz-dateiformat zu speichern???
ich würde den ansatz wählen, dass man ein einfarbiges bild mit der entsprechenden Farbe erstellt und dann mithilfe eines Painters das Bild mit Tranzparenz drauflegt. Wäre mein Ansatz, keine Ahnung ob es einen besseren Weg gibt...
Mfg androphinx
Verfasst: 12. Februar 2009 14:41
von raven-worx
ok..werd mir mal diesbzgl. was ansehen.
androphinx hat geschrieben:
was macht das für einen sinn ein bild mit transparenz in einem nicht-transparenz-dateiformat zu speichern???
in meinem programm ladet man z.b. ein JPG rein und rotiert es um X Grad, dabei können eben transparenzen entstehen. wenn man jetzt auf speichern klickt wird es ja wieder in ein JPG geschrieben...
Man kann auch unter "Speichern Als" gehen und ein transparenz-kompatibles Dateiformat auswählen...
mfg
Verfasst: 12. Februar 2009 15:29
von raven-worx
ok... vielen Dank an androphinx. Habe es nun so hinbekommen:
Code: Alles auswählen
QImage tmpImage(*image);
tmpImage.fill( color.rgba() );
QPainter painter(&tmpImage);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.drawImage ( QPoint(0,0), *image );
mfg