C++ (Qt) QImage image; QString in = QFileDialog::getOpenFileName( this, "Open image", qApp->applicationDirPath(), "Image Files (*.png *.jpg *.bmp)" ); if( in.isEmpty() ) return; if( !image.load( in ) ) return; QString out = QFileDialog::getSaveFileName( this, "Save image", qApp->applicationDirPath(), "JPEG (*.jpeg)" ); if( out.isEmpty() ) return; image.save( out, "JPEG", 100 );