Hallo ihr,
ich habe mir ein eigenes QLabel geschrieben. Das heißt ich habe mir eine C++ Klasse erstellt und diese von QLabel abgeleitet. Ich will das ganze machen um Linien und Kreise mit QPainter in dieses Label und nicht in die Form zu malen. So nun stehe ich hier und male in mein Label schön und gut. Was ich eigentlich jetzt noch haben möchte ist eine Methode die mir den Inhalt des Labels in einem .jpg abspeichert. Also ich starte mein Programm und ich habe ein leeres Label und die Möglichkeit in dieses Label ein Foto zu laden und darin rumzumalen oder ich habe nur das leere Label und kann darin rummalen. Ganz egal wie ich mich entscheide, möchte ich den Inhalt dieses Label nur rumgemalt oder mit bild und auf dem bild rumgemalt als .jpg abspeichern. Hat jemand ideen dazu?
liebe grüße der newbie
Mein eigenes QLabel
-
-=Freaky=-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
mit QWidget::render() kannst den gesamten inhalt deines labels bspw. in ein QImage bekommen.
bsp. (innerhalbe deiner klasse):
danach sollte dich der link von padreigh ans ziel fuehren.
wenn du deinem QLabel eine fixe groesse gibst, die der user also nicht aendern kann (und die sich waehrend des malens nicht aendert), koenntest du vllt. auch gleich synchron in ein QImage malen (im paintEvent), anstatt spaeter erst alles in ein QImage zu rendern ... muesste man mal ausprobieren.
mfg
julian
bsp. (innerhalbe deiner klasse):
Code: Alles auswählen
QImage img(size(), QImage::Format_RGB32);
render(&img);wenn du deinem QLabel eine fixe groesse gibst, die der user also nicht aendern kann (und die sich waehrend des malens nicht aendert), koenntest du vllt. auch gleich synchron in ein QImage malen (im paintEvent), anstatt spaeter erst alles in ein QImage zu rendern ... muesste man mal ausprobieren.
mfg
julian