UNIVERSIDAD TECNICA DE AMBATO. Programaci贸n ii Tema: Funci贸n SETWRITEMODE. RELAIZADO POR: EDISSON GOMEZ Vanesa C贸rdova FECHA: AMBATO 28 de noviembre 2011
INTRODUCCIÓN: La función que vamos a revisar a continuación nos servirá de mucha ayuda para activar y poder utilizar líneas solas o doble en la pantalla de ejecución con el modo grafico en el lenguaje C, es uno de los nuevos comandos que vamos a conocer muy útil y fácil de programar.
SETWRITEMODE. Esta función activa el modo de escritura de pantalla para traslado de líneas en modos gráficos. Para ello se definen dos constantes: COPY_PUT y XOR_PUT. El valor de COPY_PUT utiliza la instrucción del lenguaje ensamblador MOV para escribir los pixeles existentes en la pantalla. El valor XOR_PUT utiliza la orden XOR para combinar líneas nuevas con imágenes de pantalla ya existentes. Si por medio de XOR_PUT una misma línea se dibujara dos veces, esta quedaría borrada, restaurándose la visión original de la pantalla. Esta función es usada para establecer el modo lógico de escritura para líneas rectas. El argumento modo especifica el modo de escritura, el cual determina la interacción entre valores de píxeles existentes y los valores de píxeles en la línea. Existen dos valores para los modos de escritura. Si el modo es 0, las líneas sobrescriben el contenido actual de la pantalla. Si el modo es 1, una operación exclusive OR (XOR) es ejecutada entre los pixels de la línea y los puntos correspondientes sobre la pantalla.
Sintaxis: #include<graphics.h> void far setwritemode(int modo); Int modoescri; Setwritemode(dodoescri);
La función setwritemode no retorna ningún valor.
Operaciones con funciones
Constante
Valor
Significado
COPY_PUT
0
Sobrescribir los píxeles existentes
XOR_PUT
1
Operación OR Exclusivo con los píxeles
OR_PUT
2
Operación OR Inclusivo con los píxeles
AND_PUT
3
Operación AND con los píxels
NOT_PUT
4
Invertir la imagen
Estilos de Líneas
Constante
Valor
Significado
SOLID_LINE
0
Línea continua _______
DOTTED_LINE
1
Línea hecha con puntos ……..
CENTER_LINE
2
Línea centrada –––––––––––
DASHED_LINE
3
Línea discontinua _._._._.
USERBIT_LINE
4
Línea definida por el usuario
Nota: El grosor es definido escribiendo NORM_WIDTH para rallas normales y THICK_WIDTH para líneas más gruesos
Grosores para Líneas
Constante Grosor
Valor
Significado
NORM_THICK
1
Grosor es de 1 píxel
THICK_WIDTH
3
Grosor es de 3 píxeles
Modos de Escritura
Constantes COPY_PUT
Valor 0
Significado Píxeles de la línea sobrescriben los píxeles existentes
XOR_PUT
1
Píxel de la pantalla son el Resulta do de la operación OR de los píxeles existentes y los de la línea
Ejemplo: #include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" d&oacute;nde se encuentra el dispositivo gr&aacute;fico */
initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setfillstyle( SOLID_FILL, 1 ); bar( 50, 50, 500, 300 ); setwritemode( COPY_PUT ); setcolor( 10 ); line( 20, 60, 220, 100 ); setwritemode( XOR_PUT ); line( 20, 80, 220, 120 ); getch(); closegraph(); return 0; }
La funci贸n SETLINESTYLE es un complemento de esta funci贸n. Setlinestyle: Esa funci贸n define los valores vigentes de anchura y estilo de l铆nea.
SOLID_LINE
CENTER_LINE
DOTTED_LINE
DASHED_LINE
USERBIT_LINE
CONCLUSIONES: Por medio del aprendizaje de esta funci贸n podemos utilizarlo en nuevos programas, generando as铆 programas mas novedosos con mejoras visuales que es lo que nos permite la funci贸n grafica y todos sus complementos.
Bibliograf铆a: http://c.conclase.net/borland/?borlandfun=setwritemode http://es.scribd.com/doc/56676318/70/Funcion-setwritemode-Borland%C2%AE-C http://docs.mis-algoritmos.com/c.funcion.setwritemode.html