Translate

lunes, 6 de octubre de 2014

Cargar una imagen en el canvas


Ok, ok, no se si vale la pena la publicación. Pero voy igual. Se pueden cargar imagenes dentro del canvas incluso fotos. Cargar gifs es sencillo, aqui muestro un ejemplo bastante tonto con una ventana y un botón para cargar la imagen.

Copie el texto de abajo en un archivo y guárdelo como "cargar-imagen.lisp" o como prefiera llamarlo. También puede descargarlo desde aquí: cargar-imagen.lisp. Obviamente debe descargar la imagen a cargar: test.gif . 





Y es necesario descargarse ltk.lisp indefectiblemente.

;-------------------------------------------------------------------------------------------------------------------------
(use-package :ltk)



(with-ltk() ; Ventana principal ---------------------------------
  (let*
      ((canvas (make-instance 'canvas))
       (boton (make-instance 'button :text "Cargar Imagen")))
 


    ; Eventos ---------------------------------------------------
    (bind boton "<Button-1>" (lambda (evento) ;carga una imagen en el canvas al presionar el boton
          (setf imagen (make-image)) ;crear imagen...
  (image-load imagen "~/Descargas/test.gif")
  (create-image canvas 0 0 :image imagen)))


    ; Configuraciones de widgets --------------------------------
 
    (configure canvas :width 100) ;tamaño del canvas
    (configure canvas :height 100)
   
    (minsize *tk* 280 280) ;detalles de la ventana
    (maxsize *tk* 280 280)
    (wm-title *tk* "Cargar imagen")

    (place canvas 50 50) ;ubicaciones de los widgets
    (place boton 100 200)))

;----------------------------------------------------------------------------------------------------------------------

Para ejecutarlo se necesita cargar primero ltk.lisp; y luego nuestro precioso programita:

> (load "~/Descargas/ltk.lisp")
> (load "~/Descargas/cargar-imagen.lisp")

Se mostrará el programa:




 Ojala le sea de utilidad. No olvide comentar. Saludos.