Modificación RGB mediante una macro
Enviado por david.garciah08 • 22 de Febrero de 2016 • Práctica o problema • 1.037 Palabras (5 Páginas) • 163 Visitas
INDICE
Práctica 2
Modificación RGB mediante una macro
Objetivo
Marco teórico
Diferencias al modificar el RGB
∙ Disminuyendo RGB en 20
∙ RGB normal
∙ Aumentando RGB en 20
Programación de la macro
Conclusión
Bibliografía
Práctica 2
Modificación RGB mediante una macro
Objetivo
Aprender a oscurecer o aumentar el brillo de una imagen usando una macro.
Marco teórico
Una macro es una abreviatura de macroinstrucción― y aparte es una serie de instrucciones que se almacenan para que se puedan ejecutar de manera secuencial mediante una sola llamada u orden de ejecución. Dicho de otra manera, una macroinstrucción es una instrucción compleja, formada por otras instrucciones más sencillas. Esto permite la automatización de tareas repetitivas.
Las macros tienden a generarse en el ámbito del propio programa que las utiliza y se ejecutan pulsando una combinación especial de teclas o un botón especialmente creado y asignado para tal efecto.
La diferencia entre una macroinstrucción y un programa es que en las macroinstrucciones la ejecución es secuencial y no existe otro concepto del flujo de programa, conjunto de instrucciones (tales como «borrar archivo», «añadir registro», etc.), y que se almacenan en una ubicación especial. Por ejemplo, en Microsoft Access se observa que hay una zona para crear macros. Una macro en Access trabajando para una base de datos podría ser un archivo que, al llamarse desde otra instrucción, borrara los registros de un cliente o accionista, luego borrara ciertos registros en otras tablas.
Diferencias al modificar el RGB
Disminuyendo RGB en 20
[pic 1]
RGB normal
[pic 2]
Aumentando RGB en 20
[pic 3]
Programación de la macro
macro "Barrido de una iamgen" {
width = getWidth();
height = getHeight();
for (y=0; y
// if (y%20==0) showProgress(y, height); //muestra una barra de progreso
for (x=0; x
value = getPixel(x,y); // extrae los datos RGB de un pixel
// obtengo los datos RGB separados del pixel
red = (value>>16)&0xff; // extrae el byte rojo (bits 23-17)
green = (value>>8)&0xff; // extrae el byte verde (bits 15-8)
blue = value&0xff; // extrae el byte azul (bits 7-0)
...