QImage speichern -> Transparenz

Alles rund um die Programmierung mit Qt
Antworten
raven-worx
Beiträge: 33
Registriert: 11. September 2007 19:34

QImage speichern -> Transparenz

Beitrag 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
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Du brauchst doch dein QImage nur einfärben...
raven-worx
Beiträge: 33
Registriert: 11. September 2007 19:34

Beitrag 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
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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.
raven-worx
Beiträge: 33
Registriert: 11. September 2007 19:34

Beitrag 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...
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag 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
raven-worx
Beiträge: 33
Registriert: 11. September 2007 19:34

Beitrag 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
raven-worx
Beiträge: 33
Registriert: 11. September 2007 19:34

Beitrag 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
Antworten