int runCli(Arguments & args) { QImage * image = new QImage(args.getSource()); if (image->format() != QImage::Format_RGB32) { /* For working with image with QImage::bits() * and qRed(), qGreen() and qBlue() functions. */ *image = image->convertToFormat(QImage::Format_RGB32); } if (image->isNull()) { fatal(QObject::tr("Unable to load source image.")); } processFilters(image, args.getFilters()); bool ok = image->save(args.getDestination()); if (!ok) { fatal(QObject::tr("Unable to save result image.")); } return 0; }
int main(int argc, char ** argv) { QApplication app(argc, argv); Arguments args; try { args.parse(app.arguments()); } catch(BadArgsException & e) { fatal(e.toString(), true); } if (args.hasHelpOption()) { if (! args.getSource().isNull() || ! args.getDestination().isNull() || ! args.getFilters().isEmpty()) { qDebug() << "Option --help pointed," " all others are ignored."; } helpWrite(); return 0; } if (! args.getSource().isNull() && ! args.getDestination().isNull()) { return runCli(args); } else { return runGui(args); } }