|
|
|
|
103
|
|
103
|
|
104
|
`int greenContent = qGreen(originalImage.pixel(1,1));`.
|
104
|
`int greenContent = qGreen(originalImage.pixel(1,1));`.
|
105
|
|
105
|
|
106
|
-
|
|
|
107
|
5. El siguiente programa crea un objeto de la clase `QImage` e imprime los componentes rojo, verde y azul del pixel en el centro de la imagen. La imagen utilizada es la que se especifica dentro del paréntesis durante la creación del objeto, esto es, el archivo `chuck.png`.
|
106
|
5. El siguiente programa crea un objeto de la clase `QImage` e imprime los componentes rojo, verde y azul del pixel en el centro de la imagen. La imagen utilizada es la que se especifica dentro del paréntesis durante la creación del objeto, esto es, el archivo `chuck.png`.
|
108
|
|
107
|
|
109
|
---
|
108
|
---
|
|
|
|
|
174
|
|
173
|
|
175
|
4. El código que te proveemos ya tiene programado el funcionamiento de los botones de la interfaz gráfica. NO tienes que cambiar nada en este código, pero te incluimos las siguientes explicaciones para que conozcas un poco del funcionamiento de los botones. En el archivo `mainwindow.cpp`, las etiquetas `lblOriginalImage` y `lblEditedImage` corresponden a las partes de la interfaz que identifican la imagen original y la imagen procesada. Los botones
|
174
|
4. El código que te proveemos ya tiene programado el funcionamiento de los botones de la interfaz gráfica. NO tienes que cambiar nada en este código, pero te incluimos las siguientes explicaciones para que conozcas un poco del funcionamiento de los botones. En el archivo `mainwindow.cpp`, las etiquetas `lblOriginalImage` y `lblEditedImage` corresponden a las partes de la interfaz que identifican la imagen original y la imagen procesada. Los botones
|
176
|
|
175
|
|
177
|
- * `btnLoadImage`
|
|
|
178
|
- * `btnSaveImage`
|
|
|
179
|
- * `btnInvertThreshold`
|
|
|
180
|
- * `btnFlipImageHorizontally`
|
|
|
181
|
- * `btnFlipImageVertically`
|
|
|
182
|
- * `btnGreyScaleFilter`
|
|
|
183
|
- * `btnRevertImage`
|
|
|
184
|
-
|
|
|
185
|
- están conectados a funciones de modo que cuando se presione el botón de la interfaz se haga alguna tarea. Por ejemplo, cuando se presiona `LoadImage`, saldrá una ventana para seleccionar el archivo con la imagen para editar, al seleccionar el archivo, se lee y se asigna la imagen al objeto `originalImage`. El deslizador `thresholdSlider` puede asumir valores entre 0 y 255.
|
|
|
|
|
176
|
+ * `btnLoadImage`
|
|
|
177
|
+ * `btnSaveImage`
|
|
|
178
|
+ * `btnInvertThreshold`
|
|
|
179
|
+ * `btnFlipImageHorizontally`
|
|
|
180
|
+ * `btnFlipImageVertically`
|
|
|
181
|
+ * `btnGreyScaleFilter`
|
|
|
182
|
+ * `btnRevertImage`
|
186
|
|
183
|
|
|
|
184
|
+ están conectados a funciones de modo que cuando se presione el botón de la interfaz se haga alguna tarea. Por ejemplo, cuando se presiona `LoadImage`, saldrá una ventana para seleccionar el archivo con la imagen para editar, al seleccionar el archivo, se lee y se asigna la imagen al objeto `originalImage`. El deslizador `thresholdSlider` puede asumir valores entre 0 y 255.
|
187
|
|
185
|
|
188
|
5. Compila y corre el programa. Prueba los botones `Load New Image` y `Flip Image Horizontally` con las imágenes que trajiste para que valides las operaciones de los botones.
|
186
|
5. Compila y corre el programa. Prueba los botones `Load New Image` y `Flip Image Horizontally` con las imágenes que trajiste para que valides las operaciones de los botones.
|
189
|
|
187
|
|