Referencia de la Clase ImageScrambler
Diagrama de herencias de ImageScrambler

## Métodos públicos

| ImageScrambler (QWidget *parent=0)
| Constructor.
| ~ImageScrambler ()
| Destructor.
void | cropSwap (QImage &, int, int, int, int, int, int)

Function que corta dos cuadrados del mismo tamano de una imagen o sub imagen y luego los intercambia. La funcion recibe dos coordenadas (x0,y0) y (x1,y1) y un ancho y un alto. Entonces intercambia pixel por pixel el cuadrado que se forma desde la coordenada en el tope a la izquierda (x0,y0) a la coordenada abajo derecha (x0+ancho, y0+alto) con el cuadrado formado desde la coordenada en el tope izquierda (x1, y1) hasta la coordenada abajo derecha (x1+width, y1+height). Más...

QImage | ScrambleFilter (QImage image, int, int, int, int, int)
| Funcion que recursivamente revuelve una imagen dividiendola en cuadrados (sub imagenes)\ y luego intercambiandolas. El primer paso que el programa hace es dividir la imagen en two o cuatro cuadrados e intercambia los cuadrados, el resultado de la imagen se divide en cuatros cuadros y cada uno de los cuadros se le aplican los mismos pasos recursivamente. Más...

## Slots privados

void | on_btnLoadNewImage_clicked ()
| Funcion que despliega una ventana de busqueda de archivos para cargar una imagen en el GUI.
void | on_btnSave_clicked ()
| Funcion que guarda la imagen revuelta en la computadora.
void | on_btnScrambleImage_clicked ()
| Funcion que invoca la funcion ScrambleFilter para revolver la imagen y cargarla en el GUI.
void | on_btnDescrambleImage_clicked ()
| Funcion que restaura la imagen revuelta a la imagen original.
void | on_actionLoad_Image_triggered ()
| Funcion que invoca la funcion on_btnLoadNewImage_clicked().
void | on_actionSave_Image_triggered ()
| Funcion que invoca la funcion on_btnSave_clicked().
void | on_actionScramble_Image_triggered ()
| Funcion que invoca la funcion on_btnScrambleImage_clicked().
void | on_actionDescramble_Image_triggered ()
| Funcion que invoca la funcion on_btnDescrambleImage_clicked().

## Atributos privados

Ui::ImageScrambler * | ui
QImage | originalImage
QImage | scrambledImage
int | scrambleDepth

## Documentación de las funciones miembro

void ImageScrambler::cropSwap | ( | QImage & | img,
|  | int | x0,
|  | int | y0,
|  | int | x1,
|  | int | y1,
|  | int | width,
|  | int | height
| ) |  |

Function que corta dos cuadrados del mismo tamano de una imagen o sub imagen y luego los intercambia. La funcion recibe dos coordenadas (x0,y0) y (x1,y1) y un ancho y un alto. Entonces intercambia pixel por pixel el cuadrado que se forma desde la coordenada en el tope a la izquierda (x0,y0) a la coordenada abajo derecha (x0+ancho, y0+alto) con el cuadrado formado desde la coordenada en el tope izquierda (x1, y1) hasta la coordenada abajo derecha (x1+width, y1+height).

Parámetros

  img | Referencia a la imagen a la que se le van a intercambiar los cuadros.
  x0 | La coordenada arriba izquierda x del primer cuadrado en la imagen.
  y0 | La coordenada arriba izquierda y del primer cuadrado en la imagen.
  x1 | La coordenada arriba izquierda x del segundo cuadrado en la imagen.
  y1 | La coordenada arriba izquierda y del segundo cuadrado en la imagen.
  width | ancho de los cuadrados
  height | altura de los cuadrados

QImage ImageScrambler::ScrambleFilter | ( | QImage | image,
|  | int | N,
|  | int | sx,
|  | int | sy,
|  | int | width,
|  | int | height
| ) |  |

Funcion que recursivamente revuelve una imagen dividiendola en cuadrados (sub imagenes)\ y luego intercambiandolas. El primer paso que el programa hace es dividir la imagen en two o cuatro cuadrados e intercambia los cuadrados, el resultado de la imagen se divide en cuatros cuadros y cada uno de los cuadros se le aplican los mismos pasos recursivamente.

Parámetros

  image | The image a revolver
  N | La profundidad de la recursion. La imagen se revolvera en 4^N cuadrados.
  sx | La coordenada arriba izquierda x inicial de la imagen o sub imagen a dividir.
  sy | La coordenada arriba izquierda y inicial de la imagen o sub imagen a dividir.
  width | Ancho de la imagen recibida
  height | Altura de la imagen recibida

Devuelve
  la imagen revuelta

## Documentación de los datos miembro

QImage ImageScrambler::originalImage

private

the original image (imagen original)

int ImageScrambler::scrambleDepth

private

recursive depth (profundidad de la recursion)

QImage ImageScrambler::scrambledImage

private

scrambled image (imagen revuelta)

La documentación para esta clase fue generada a partir de los siguientes ficheros:

- ImageScrambler.h
- Filter.cpp
- ImageScrambler.cpp