Vistas de página en total

martes, 18 de marzo de 2014

PAINT BASICO

     Este programa es el comienzo de una serie de programas asociados a librerías más avanzadas de gráficos. Como ya teníamos la función putpixel hay que darle salida. por lo tanto usando la estrucutrac del pograma anterior, este programa coloca pixel en la posiciñon del ratón cuando el botón izquierdo de este está pulsado. esto lo que permite es realizar un Paint muy simple.

      Para mejorarlo deberemos crear la funicón line, ya que de esta manera no se verán los trazos discontinuos. Ese será el siguiente módulo de la librería graphics.
     En la siguiente entrada presentaré las funciones line, circle, y rectangle, fillrectangle, y fillcircle, con las que podremos dibujar las entidades más básicas de dibujo.
 
 
    Programa ejecutable  Ej_Pixel.exe


EJ_PAINT1.ASM


; Copyright (C) 2013  José Ángel Moneo Fernández

;    This program is free software: you can redistribute it and/or modify
;    it under the terms of the GNU General Public License as published by
;    the Free Software Foundation, either version 3 of the License, or
;   (at your option) any later version.

;    This program is distributed in the hope that it will be useful,
;    but WITHOUT ANY WARRANTY; without even the implied warranty of
;    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;    GNU General Public License for more details.

;    You should have received a copy of the GNU General Public License
;    along with this program.  If not, see <http://www.gnu.org/licenses/>.


include main.mac
include stdio.mac
include mouse.mac
include graphics.mac

.model compact,pascal
.stack 200

.data
letra db 0

color dw 1

.code

principal proc far
        main
        modovideo 12h   ;inicia graficos
        resmouse         ;reinicia ratón
        mouse on         ; activa rarón
        mov cx,0
ciclo: 
      
        getmouse         ;verifica espera pulsación raton
        cmp ax,2      ;salir?
        je fuera
        cmp ax,1      ;boton izquierdo?
        jne ciclo
        getmousex
        mov cx,ax
        getmousey
        mov dx,ax
        mouse off
        putpixel cx,dx,color
        mouse on
        jmp ciclo
fuera:
        modovideo t80col
        resmouse
        mouse off 
        exit  0
principal endp

end





2 comentarios:

  1. tengo un problema al momento de compilardo en el dosbox, es refentente a las bibliotecas

    ResponderEliminar
    Respuestas
    1. Las librerías están aquí. http://myassembler.blogspot.com.es/p/programas-ya-compilados.html o en https://drive.google.com/file/d/0B9_4potqFUBVeVlYdzJBaEFwWmc/view
      y El procedimiento aquí http://myassembler.blogspot.com.es/p/compilacion.html
      No deberías de tener problemas

      Eliminar

Si tienes algún comentario, duda o sugerencia, o si quieres aportar algún código creado a partir de las librerías expuestas aquí, por favor, indícamelo.