Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
¿como Capturar Una Zona En Un Drawingarea, Y Guardarla En Un Archivo De Im...
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje ¿como Capturar Una Zona En Un Drawingarea, Y Guardarla En Un Archivo De Imagen .png? (solucionado) 
 
¿Sabeis alguna forma de capturar una zona de un dibujo realizado dentro del control drawingarea?
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Miercoles, 15 May 2013, 21:00; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿como Capturar Una Zona En Un Drawingarea, Y Guardarla En Un Archivo De Imagen .png? 
 
Hola

Hay dos formas, la primera es la chapucera y consiste en usar la función .Grab() del control. Pero no creo que sea la mejor, porque guarda todo lo que haya en las coordenadas del control, incluyendo ventanas que pudieras tener encima.

La segunda, y creo que la única, es crear una función que vuelva a dibujar el drawingarea sobre un objeto Image y hagas .Clip en en trozo de imagen que desees guardar. Eso no es más que obtener unas coordenadas relativas a las dimensiones de la imagen para "recortar" ese trozo. Después grabas a un fichero y listo.

Te dejo un código que hice en mi programa hace tiempo con gambas2, que creo que puede servir para entender mejor el asunto.

 https://dfhlog.googlecode.com/svn/branches/dfhlog1.1/FLoc.class

Abajo del todo, la función savePic prepara la imagen para guardarla. Hay que volver a dibujar todo, eso está claro, pero si usas el evento Draw y divides el código en funciones que realicen los cálculos y los dibujos, luego sólo tienes que llamarlas desde donde quieras. Lo que sí es cierto es que en la función de guardado no se ha usado el evento Draw, porque no estoy dibujando en el drawingarea, sino en un objeto picture.

En el ejemplo que te he puesto, el drawing area está dentro de un control scrollviev, porque la imagen era muy grande, y realmente se dibuja sólo la parte visible. Hay dos métodos que usan la función, uno para guardar la parte visible de la imagen, delimitada por las dimensiones actuales del scrollview y otra que guarda la imagen entera. Es el argumento "whole" que le paso a la función.

En fin, mira el código a ver si te sirve...

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿como Capturar Una Zona En Un Drawingarea, Y Guardarla En Un Archivo De Imagen .png? 
 
Gracias, me ha servido!!!  
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Imagen En Un Drawingarea nrcefe General 4 Jueves, 24 Septiembre 2009, 22:32 Ver último mensaje
nrcefe
No hay nuevos mensajes Problemas Al Capturar Imagen Desde Webcam CanihoJR General 3 Lunes, 25 Enero 2010, 21:41 Ver último mensaje
skhaliburg
No hay nuevos mensajes Repositorio De Aplicaciones: ¿como Subirl... jsbsan Aplicaciones/Fragmentos de Código 3 Viernes, 17 Septiembre 2010, 09:48 Ver último mensaje
jsbsan
No hay nuevos mensajes Capturar Imagen Desde Webcam frederick General 1 Miercoles, 08 Febrero 2012, 19:28 Ver último mensaje
jguardon
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron