123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- #include "ImageScrambler.h"
- #include "ui_ImageScrambler.h"
-
-
- /// \fn ImageScrambler::ImageScrambler(QWidget *parent)
- /// \~English
- /// \brief Constructor
- /// \~Spanish
- /// \brief Constructor
- ImageScrambler::ImageScrambler(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::ImageScrambler)
- {
- ui->setupUi(this);
-
- scrambleDepth = 1 ;
-
- // KEYBOARD SHORTCUTS
- // ATAJOS DEL KEYBOARD
-
- // Loads an image with cmd + o
- // Carga una imagen con cmd + o
- new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_O), this, SLOT(on_btnLoadNewImage_clicked()));
- // Saves an image with cmd + s
- // Guarda una imagen con cmd + s
- new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_S), this, SLOT(on_btnSave_clicked()));
- // Closes window with cmd + w
- // Cierra la ventana con cmd + w
- new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_W), this, SLOT(close()));
- // Scrambles an image with cmd + e
- // Revuelve una imagen con cmd + e
- new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_E), this, SLOT(on_btnScrambleImage_clicked()));
- // Restores the image with cmd + d
- // Restaura la imagen con cmd + d
- new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_D), this, SLOT(on_btnDescrambleImage_clicked()));
- ui->btnDescrambleImage->setEnabled(false);
-
- }
-
- /// \fn ImageScrambler::~ImageScrambler(QWidget *parent)
- /// \~English
- /// \brief Destructor
- /// \~Spanish
- /// \brief Destructor
- ImageScrambler::~ImageScrambler()
- {
- delete ui;
- }
-
- /// \fn void ImageScrambler::on_btnLoadNewImage_clicked()
- /// \~English
- /// \brief Function that displays a browsing window file to load an image into the GUI
- /// \~Spanish
- /// \brief Funcion que despliega una ventana de busqueda de archivos para cargar
- /// una imagen en el GUI.
- void ImageScrambler::on_btnLoadNewImage_clicked(){
- QString fname = QFileDialog::getOpenFileName(this, tr("Choose an image"), QDir::homePath());
- if (!fname.isEmpty()){
- QImage image(fname);
- if (image.isNull())
- QMessageBox::information(this, tr("Choose an image"),tr("Cannot load %1.").arg(fname));
- originalImage=image;
- scrambledImage=image;
- ui->lblOriginalImage->setPixmap(QPixmap::fromImage(originalImage));
- ui->lblScrambleImage->setPixmap(QPixmap::fromImage(scrambledImage));
- ui->btnDescrambleImage->setEnabled(false);
- }
- }
-
- /// \fn void ImageScrambler::on_btnSave_clicked()
- /// \~English
- /// \brief Function that saves the scrambled image in the computer.
- /// \~Spanish
- /// \brief Funcion que guarda la imagen revuelta en la computadora.
- void ImageScrambler::on_btnSave_clicked(){
- QPixmap out = QPixmap::grabWidget(this,361,10,481,481);
- QString fname = QFileDialog::getSaveFileName(this, tr("Save Edited Image"), (""), tr("PNG (*.png)" ));
- scrambledImage.save(fname, "PNG");
- }
-
-
- /// \fn void ImageScrambler::on_btnScrambleImage_clicked()
- /// \~English
- /// \brief Function invokes the ScrambleFilter function to scramble the image and
- /// load it in the GUI.
- /// \~Spanish
- /// \brief Funcion que invoca la funcion ScrambleFilter para revolver la imagen y
- /// cargarla en el GUI.
- void ImageScrambler::on_btnScrambleImage_clicked(){
-
- //Call Scramble to scramble the image
- //Llamar Scramble para revolver la imagen
- scrambleDepth = ui->scrambleDepth->value() ;
- scrambledImage = ScrambleFilter(originalImage, scrambleDepth, 0, 0, originalImage.width(),originalImage.height());
- ui->lblScrambleImage->setPixmap(QPixmap::fromImage(scrambledImage));
- ui->btnDescrambleImage->setEnabled(true);
-
- }
-
- /// \fn void ImageScrambler::on_btnDescrambleImage_clicked()
- /// \~English
- /// \brief Function that restores the scrambled image to the original image.
- /// \~Spanish
- /// \brief Funcion que restaura la imagen revuelta a la imagen original.
- void ImageScrambler::on_btnDescrambleImage_clicked(){
- scrambledImage = originalImage;
- ui->lblScrambleImage->setPixmap(QPixmap::fromImage(scrambledImage));
- }
-
- /// \fn void ImageScrambler::on_actionLoad_Image_triggered()
- /// \~English
- /// \brief Function that invokes the on_btnLoadNewImage_clicked() function.
- /// \~Spanish
- /// \brief Funcion que invoca la funcion on_btnLoadNewImage_clicked().
- void ImageScrambler::on_actionLoad_Image_triggered(){
- on_btnLoadNewImage_clicked();
- }
-
- /// \fn void ImageScrambler::on_actionSave_Image_triggered()
- /// \~English
- /// \brief Function that invokes the on_btnSave_clicked() function.
- /// \~Spanish
- /// \brief Funcion que invoca la funcion on_btnSave_clicked().
- void ImageScrambler::on_actionSave_Image_triggered(){
- on_btnSave_clicked();
- }
-
- /// \fn void ImageScrambler::on_actionScramble_Image_triggered()
- /// \~English
- /// \brief Function that invokes the on_btnScrambleImage_clicked() function.
- /// \~Spanish
- /// \brief Funcion que invoca la funcion on_btnScrambleImage_clicked().
- void ImageScrambler::on_actionScramble_Image_triggered(){
- on_btnScrambleImage_clicked();
- }
-
- /// \fn void ImageScrambler::on_actionDescramble_Image_triggered()
- /// \~English
- /// \brief Function that invokes the on_btnDescrambleImage_clicked() function.
- /// \~Spanish
- /// \brief Funcion que invoca la funcion on_btnDescrambleImage_clicked().
- void ImageScrambler::on_actionDescramble_Image_triggered(){
- on_btnDescrambleImage_clicked();
- }
|