QImageWriter als fertiges GUI-Interface ?
QImageWriter als fertiges GUI-Interface ?
Hallo,
über getSaveFileName kann ich den user nur dazu bringen nen file namen anzugeben.
Ich würde es gerne haben dass er auch noch das bildformat selbst wählen kann unter dem dann das bild gespeichert wird.
Gibt es da schon was vorgefertigtes irgendwo?
Oder wie wird das sonst üblich gemacht? (Aus Gimp kenne ich z.B dass je nach file-endung unterschiedliche feinheitseinstellungen wie Kompressionsgrad noch angezeigt werden etc...)
Danke für Ratschläge
über getSaveFileName kann ich den user nur dazu bringen nen file namen anzugeben.
Ich würde es gerne haben dass er auch noch das bildformat selbst wählen kann unter dem dann das bild gespeichert wird.
Gibt es da schon was vorgefertigtes irgendwo?
Oder wie wird das sonst üblich gemacht? (Aus Gimp kenne ich z.B dass je nach file-endung unterschiedliche feinheitseinstellungen wie Kompressionsgrad noch angezeigt werden etc...)
Danke für Ratschläge
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
dachte ich auch aber ich bin mir unsicher ob er dann auch das format übernimmt...oder sollte ich für jeden selektierten filter dann eine if-anweisung generieren???
hier mal der code:
Hier würde doch egal welcher filter gewählt wird immer mittels JPG -format gespeichert oder - Nur dass sich der Name dann halt nicht mit .jpg endet sondern mit dem gewählten?
Nur wie soll ich das ändern....müsste ich ja dann über selectedFilter() für jedes format nen if oder switch zweig generieren...?
hier mal der code:
Code: Alles auswählen
QFileDialog* file_dialog = new QFileDialog(this);
QString file_name = file_dialog->getSaveFileName(this, "Save As",
cur_file_name,
"*.jpg;;"
"*.jpeg;;"
"*.gif;;"
"*.png;;"
"*.bmp;;"
"*.mng;;"
"*.pbm;;"
"*.pgm;;"
"*.ppm;;"
"*.xbm;;"
"*.xpm");
QImage image(cur_file_name);
image.save(file_name, "JPG");
Nur wie soll ich das ändern....müsste ich ja dann über selectedFilter() für jedes format nen if oder switch zweig generieren...?
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Doch gibt es...Christian81 hat geschrieben:Zumindest fällt mir derzeit nichts anderes ein... ein auto-detect gibts ja leider nicht.
http://doc.trolltech.com/4.1/qimagewrit ... ageFormats
Die naechste frage ist sicher wie man ein bild verkleinert ......
Code: Alles auswählen
void Gui_Image::ModpicsChanged(int newvalue_w) /* int from QSlider 20px steeps minimum 150 max pics width() */
{
qDebug() << "### copyofimagefile... " << copyofimagefile;
QPixmap pic(copyofimagefile);
QPixmap scaled = pic.scaledToWidth(newvalue_w);
centrale->setPixmap(scaled); /* label */
centrale->adjustSize(); /* label */
actual = centrale->pixmap()->size();
hipx->display(QString::number(scaled.height()));
qDebug() << "### Draw image and dispay new W x H px... ";
}
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
QFileInfo. Damit holst Du dir die Extension vom eingegebenen Namen und übergibst sie der save-Methode. Vorher aber prüfen, ob die Extension unterstützt wird.Mati hat geschrieben:Nur wie soll ich das ändern....müsste ich ja dann über selectedFilter() für jedes format nen if oder switch zweig generieren...?