Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom 
 
Hola buenas, como están todos los compañeros programadores, espero que bien y les deseo el máximo de aprendizaje en el desarrollo de sus sistemas.

Quiero comentarles que he estado experimentando con la Picturebox.Picture y he logrado pues guardar imágenes tanto en localhost como lan, pero hay algunas cosas que se me escapan con respecto a algunas funciones que quizá ustedes deben saber, que es la de borrar la picture cargada, la verdad no logro borrar a imagen cargada puesto que me toca borrar la ruta de la misma y decirle que si picturebox.picture=null decir introduzca nueva imagen y bueno no es la idea quizá haya algo para borrar la imagen cargada en el Picture.

 carga_de_imagen

Osea logro borrar la ruta así:

PictureBox11.Picture = Picture[""], pero como haría para que se desaparezca y quede en blanco la Picturebox?

[b]Este codigo es para cargar una imagen:
Public Sub Button8_Click()
Dialog.Title = "Selecciona una imagen."
  Dialog.Filter = ["*.png;*.jpg;*.jpeg;*.bmp", "Imagenes", "*.*", "Todos los ficheros"]
  Dialog.path = "/home"
  If Dialog.openfile() Then Return 'si cancelamos el dialogo, sale del procedimiento sin errores
 
 ' de aqui cogemos la información del dialog la direccion y el nombre del archivo completo
 Ruta = File.Dir(Dialog.Path) & "/" & File.Name(Dialog.Path)

  
PictureBox11.Picture = Picture.Load(Ruta) 'ya tenemos la ruta en el picturebox
'imagen_cargada = PictureBox11.Picture
vista_previa_carga.Transporte2(juninresul)----ESTA VARIABLE LA USO PARA TRASLADAR DATOS, PERO NO LOGRO LLEVAR LA IMAGENE A SU DESTINO
 imag = New PictureBox(DrawingArea1) As "picture"
 imag.Stretch = True
 imag.Picture = Picture.Load(Ruta)


vista_previa_carga.Transporte2(juninresul)----ESTA VARIABLE LA USO PARA TRASLADAR DATOS, PERO NO LOGRO LLEVAR LA IMAGEN A SU DESTINO
PORQUE PENSABA HACER LO MISMO EN LA GB.REPORT QUE AL CARGARSE SE PUDIERA VER EN ZOOM EN REPORT PERO ME FALLA,
OSEA LLEVAR LA IMAGEN QUE EN SE HA CARGADO CON EL BOTON CARGAR Y QUE NO SEA DE LA CONSULTA DE LA BD

POR EJEMPLO ESTO ES LO QUE ME PERMITE CONSULTAR LA IMAGEN DE LA BD:
juninresul = Data
TempPicture = juninresul["imagen"].Data

PERO COMO SE HARIA PARA LLEVARLA A AL GB.REPORT EN TIEMPO DE CARGA, UNA IMAGEN RECIEN CARGADA Y VISTA!
POR UN MOMENTO PENSE ASI:

Public Sub Transporte2(Data As Result)
Dim TempFile As String
TempFile = Temp() & ".png"
Modificando = True
juninresul = Data
TempFile = juninresul.Data
Try ReportImage1.Image = Image.Load(TempFile)

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Otra duda que tengo es la de hacerle Zoom a una imagen, la verdad también se me escapa de las manos puede que haya que hacer un Slider o simplemente es algo incorporado en gambas, yo por lo general hice un ZOOM pero usando el GB.REPORT introduciendo la imagen cargada desde la base de datos y que se muestre y pues como la GB.REPORT trae zoom! pues estúpidamente hacerlo asi!

 hago_zoom_asi

 zoom_a_imagen

ASI LOGRO CARGA UNA IMAGEN CONSULTADA DE LA BASE DE DATOS DE UNA PERSONA Y QUE ESTUPIDAMENTE SE PUEDA HACER ZOOM!

Public Sub Transporte(Data As Result)
Dim TempPicture As String
Dim TempFile As String
TempFile = Temp() & ".png"
Modificando = True
juninresul = Data
TempPicture = juninresul["imagen"].Data
If TempFile Then
 File.Save(TempFile, TempPicture)
Try ReportImage1.Image = Image.Load(TempFile)


Bueno discúlpenme este reguero y loquera pero no encuentro otro modo de expresarlo, mas que todo me interesa hacer zoom y el de que como llevar una imagen recien cargada del picturebox.picture a un gb.report, que arriba lo hice pero de una BD ahora como seria la dellevar una imagen pero cargada.

Gracias de antemano.
 



 
última edición por jousseph el Domingo, 30 Junio 2013, 08:27; editado 2 veces 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom 
 
Hola jousseph.

Ahora mismo estoy liado con el trabajo. Y no he tenido tiempo de leer tu mensaje entero.

Para que la imagen no tenga nada, hazla nula.

Si buscas NULL en Gambas.

http://gambasdoc.org/help/lang/null?es

Entonces es como si le asignaras "", una cadena vacía.
Pero ya veo que no se elimina la imagen.  

Prueba esto. Veras que gracia. Usa el componente gb.qt4 y haz nula la imagen.  
Eso funciona.

Es que el picturebox es un componente de qt4. Ahí esta la clave

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom 
 
Citar:
Para que la imagen no tenga nada, hazla nula.

Si buscas NULL en Gambas.


Señor SHELL un saludo hermano, fíjese que ya use la opción Picturebox.picture=null y no sucede nada! yo hasta me confundí porque pensaba que era así Picturebox.picture="", me di cuenta que una cosa es borrar la ruta y otra es la imagen visualizada virtual, lo que me preocupaba era que el usuario agregaba un registro con una determinada imagen y después que la agregaba comenzaba otro nuevo registro pero quedaba la imagen anterior del registro agregado!, entonces dije bueno voy a intentar borrar la ruta Asi: PictureBox11.Picture = Picture[""] y que la imagen virtual en el picture quede!, luego para que no agregue la imagen del registro anterior le digo if Picturebox.Picture=null, Message.Info("Por favor agregue una imagen").

Citar:
Prueba esto. Veras que gracia. Usa el componente gb.qt4 y haz nula la imagen.
Eso funciona.

Es que el picturebox es un componente de qt4. Ahí esta la clave


Lastima estoy haciendo el sistema en GTK, pero no importa ya me estoy resolviendo, me interesa el mensaje de arriba para que el usuario no se confunda!.

Por ultimo quisiera saber como hacer Zoom señor Shell? la unica manera que se me ocurre es llevar la imagen a un gb.report y como tiene zoom cargarla alli.
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom 
 
Hola Jousseph.

gb.report es un componente que aun no he estudiado.  
Tengo que hacer por ello.

Sigo buscando información. Hay una función que hace zoom, tanto en clase Draw como en Paint.

http://gambasdoc.org/help/comp/gb.qt4/paint/zoomimage?es&v3

No resulta sencillo, estoy con un ejemplo.

Jousseph siento no poder ayudarte mucho por ahora.  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom 
 
Tranquilo señor shell fijese que yo publique un post sobre como me quedaron los reportes, como diseñarlos y que genere uno de un determinado usuario con sus datos, me gusto la explicacion de la pagina, estuvo clarito como yo lo pense vi coordenadas, por ahora me conformo con llevar una imagen consultada y mostrarla en un GB.REPORT, alli tengo la opcion del Zoom, muchas gracias seguire experimentamdo.
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom 
 
Ok, pero no cejare en el intento.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom 
 
Señor shell disculpe una pregunta, como haría yo para llevar información de un formulario a otro, por ejemplo yo uso esta variable pero noto que se usa es cuando los datos ya están agregados a una base de datos:

TextBox1.Text = juninresul["ide"]-------LA CONSULTA DE OTRO FORMULARIO
registros_cedulas_catastrales.Transporte(juninresul)-------CARGA DATOS DE UNA CONSULTA PARA LLEVAR AL FORMULARIO-registros_cedulas_catastrales

QUE AL LLEVARLA AL FORMULARIO DESTINATARIO QUEDA ASI:

Public Sub Transporte(Data As Result)
juninresul = Data
TextBox20.Text = juninresul["numero_inscripcion"] ----MUESTRA LOS DATOS
TextBox52.Text = juninresul["edo"] --------DATOS

OSEA FUNCIONA PREFECTO, PERO QUE SUCEDE SI TRASLADO DATOS O UNA IMAGEN CARGADA DE UN PICTURE, NOTO QUE NO ME FUNCIONA ME DICE OBJETO NULO, QUIERE DECIR QUE NO CARGA NADA!, POR EJEMPLO HAGO LO MISMO PERO CON UN PICTURE Y QUE ESTE ME LO LLEVE A OTRO FORMULARIO Y ME DA EL OBJETO NULO, EJEMPLO:

AQUI CARGO LA IMAGEN EN EL PICTURE LO CUAL SE MUESTRA NORMAL EN EL PICTURE:

Public Sub Button8_Click()
  Dialog.Title = "Selecciona una imagen."
  Dialog.Filter = ["*.png;*.jpg;*.jpeg;*.bmp", "Imagenes", "*.*", "Todos los ficheros"]
  Dialog.path = "/home"
  If Dialog.openfile() Then Return 'si cancelamos el dialogo, sale del procedimiento sin errores

 ' de aqui cogemos la información del dialog la direccion y el nombre del archivo completo
 Ruta = File.Dir(Dialog.Path) & "/" & File.Name(Dialog.Path)
  
 PictureBox11.Picture = Picture.Load(Ruta) 'ya tenemos la ruta en el picturebox
vista_previa_carga.Transporte2(juninresul)
 imag = New PictureBox(DrawingArea1) As "picture"
 imag.Stretch = True
 imag.Picture = Picture.Load(Ruta)
End

LUEGO UTILIZO ESTA VARIABLE PARA LLEVAR LOS DATOS DE LA IMAGEN CARGADA DEL PICTURE EN ESTA VARIABLE: vista_previa_carga.Transporte2(juninresul)

QUE AL LLEVARLA AL FORMULARIO DESTINATARIO LA COLOCO ASI:

Public Sub Transporte2(Data As Result)
'Dim TempPicture As String
Dim TempFile As String
TempFile = Temp() & ".png"
'Modificando = True
juninresul = Data
TempPicture = juninresul.Data------AQUI ME DA NULO, NOTO QUE EL ERROR ES NO SABER CUAL ES LA FUNCIÓN EXACTA, PODRA SER[""]? O NOSE!
If TempFile Then
 File.Save(TempFile, TempPicture)
Try ReportImage1.Image = Image.Load(TempFile)
End

PORQUE FUNCIONA SI ESTA GUARDADA EN UNA BASE DE DATOS------TempPicture = juninresul["IMAGEN"].Data, PERO EN TIEMPO DE CARGA NOSE!

Gracias disculpen tanta mayúsculas.
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom 
 
Hola jousseph.

Ahora estoy un poco despistado. Pero intentare ayudarte con el paso de la variable.  

¿ Entonces realmente solo le pasas la ruta de la imagen al otro formulario para mostrar esta en el ?
Creo que es sencillo.

Siempre que no me funciona una aplicación, intento crear otra mas pequeña donde dividir el problema  principal en
varios problemas mas pequeños.

Ejemplo1. dos formularios. En uno entramos los datos y en el otro los mostramos.

'Ejemplo1 de como se pasa una variable de un Formulario a otro. Form1 y Form2

Public Sub Form_Open()

End

Public Sub BtnComenzar_Click()

  Dim formulario As New Form2(txtNombre.Text, txtEdad.Text)
  formulario.Show

End
 


Este es el código del Form2
Private txt1contenido As String
Private txt2contenido As String

Public Sub _new(txt1 As String, txt2 As String)
  txt1contenido = txt1
  txt2contenido = txt2
End

Public Sub Form_Open()
  lblNombre.Caption = txt1contenido
  lblEdad.Caption = txt2contenido
End

Public Sub btnSalir_Click()

  Me.Close

End
 



Otra forma de pasar variables es usando propiedades.
'Otra manera de pasar una variable de un formulario a otro formulario

Public Sub Form_Open()

End

Public Sub btnPasar_Click()

  Dim f As New Form6
  f.nombre = txtNombre.Text
  f.dni = txtDNI.Text
  f.Show()
  
End

Public Sub Button1_Click()

  Me.Close()

End
 


Y aquí el form6:

Private txt1Nombre As String
Private txt2DNI As String
Property nombre As String
Property dni As String



Public Sub Form_Open()

lblNombre.Caption = nombre_Read()
lblDNI.Caption = dni_Read()

End

Private Function nombre_Read() As String
  Return txt1Nombre
End

Private Sub nombre_Write(Value As String)
  txt1Nombre = Value
End

Private Function dni_Read() As String
  Return txt2DNI
End

Private Sub dni_Write(Value As String)
  txt2DNI = Value
End


Public Sub btnSalir_Click()

  Me.Close()

End
 


La primera parece mas fácil para probar. Si necesitas el código entero lo subo.

Como ves, son dos textbox en un formulario y en el que recibe los datos.dos labels.

Usa puntos de interrupción a ver donde encuentras el error. De alguna forma el otro formulario tiene que recibir la información.
¿ Estas seguro que realmente esta recibiéndola ?.

La manera en que pasamos los datos de un formulario a otro, pueden parecer mas complicadas, pero ya lo dijo nuestro administrador,
son las formas correctas de hacerlo.

Espero haberte ayudado un poco.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom 
 
Seeeñor Shell jajaja usted me dejo despistado también, pero me gusto ese código que me dio de ejemplo porque me enseño a comprender unas cosas que no sabia en serio que bueno, fijese que yo en realidad quería era pasar la información de un FORMULARIO a UN REPORT jajajaja y eso me estaba dando en la madre, me puse a comprender esas variables que si RUTA(ENVIAR) y la del segundo FORMULARIO O REPORT SERIA Public sub Ruta as string y debajo Esto=Ruta y luego como la GB.REPORT no tienen Picture usan es Report.Image pues simplemente le digo Try ReportImage1.Image = Image.Load(Ruta) mejor dicho lo que se recogió del FORM1 y en el segundo lo hago string para después mostrar la imagen, TIENE MUCHA LÓGICA, pero cada lógica tiene su comando o su forma de hacerlo jajajaja, mire este ejemplo ya resolví el problema:

CARGA DE LA IMAGEN:
Public Sub Button8_Click()

  Dialog.Title = "Selecciona una imagen."
  Dialog.Filter = ["*.png;*.jpg;*.jpeg;*.bmp", "Imagenes", "*.*", "Todos los ficheros"]
  Dialog.path = "/home"
  If Dialog.openfile() Then Return 'si cancelamos el dialogo, sale del procedimiento sin errores
 
 ' de aqui cogemos la información del dialog la direccion y el nombre del archivo completo
 Ruta = File.Dir(Dialog.Path) & "/" & File.Name(Dialog.Path)
 Ruta2 = Ruta
PictureBox11.Picture = Picture.Load(Ruta) 'ya tenemos la ruta en el picturebox
vista_previa_carga.Transporte2(Ruta2)------ESTE ES LA VARIABLE CORRECTA
'vista_previa_carga.Transporte2(juninresul)-----ESTA ERA LA INCORRECTA POR ES RESULT
 imag = New PictureBox(DrawingArea1) As "picture"
 imag.Stretch = True
 imag.Picture = Picture.Load(Ruta)
If Modificando = True Then
Pincha = True
End If
End

ANTES USABA ESTA Y CREO QUE ESA FUNCIÓN Y VARIABLE SE USA ES CUANDO SE TRAE DE UNA BASE DE DATOS LOS REGISTROS:
vista_previa_carga.Transporte2(juninresul)-----RESULTA QUE SIRVE ES PARA TRASLADO DE BD EN RESULT

POR LO QUE LA LLEVABA A AL REPORT DE LA SIGUIENTE MANERA:
Public Sub Transporte(Data As Result)
Dim TempPicture As String
Dim TempFile As String
TempFile = Temp() & ".png"
Modificando = True
juninresul = Data
TempPicture = juninresul["imagen"].Data
If TempFile Then
 File.Save(TempFile, TempPicture)
Try ReportImage1.Image = Image.Load(TempFile)
'este que esta anulado coje los valores del temppicture original y se ve demasiado grande asin
' y con los valores que tiene el picturebox ya vale
'lo malo
'--------
' que si es demasido chico el dibujo o objeto se agranda y parece que esta gordo es lo inico que tiene
'IF NOT ERROR THEN PictureBox1.Resize(PictureBox1.Picture.Width, PictureBox1.Picture.Height)
 
 Else
 ReportImage1.Image = Null
End If
If Exist(TempFile) Then Kill TempFile

End

VIENDO SU CÓDIGO ME PUSE A VER QUE UD CREABA O LE DECIA AL FORMULARIO1 AS NEW Y EN EL SEGUNDO PUBLIC SUB _NEW(TALCOSA AS STRING) Y YO YA TENIA EN EL SEGUNDO FORM O DIGAMOS MI REPORT EN NEW JAJAJAJA Y ME GENERABA ERROR PORQUE YA TENIA DECLARADA ESA!, ENTONCES HICE ESTO ASI:

DECLARE  UNA VARIABLE GLOBAL RUTA2 AS STRING Y LUEGO LA USE PARA GUARDAR LA RUTA DE LA IMAGEN RECIÉN CARGADA ASI
Ruta = File.Dir(Dialog.Path) & "/" & File.Name(Dialog.Path)
  Ruta2 = Ruta--------DIJE RUTA2 VA A GUARDAR LO QUE TIENE ADENTRO LA RUTA DEL PICTUREBOX.PICTURE
PictureBox11.Picture = Picture.Load(Ruta) 'ya tenemos la ruta en el picturebox
vista_previa_carga.Transporte2(Ruta2)------COMO PUEDE VER AQUÍ MIRÉ SU CÓDIGO Y DIJE VOY A USAR UNA VARIABLE STRING EN VEZ DE RESULT! Y CUANDO LA LLEVE AL REPORT TAMBIEN LA HAGO STRING PORQUE ADENTRO VA ES UNA RUTA DE UNA IMAGEN! Y QUEDO ASI

Public Sub Transporte2(Data As String)------TRAIDA LA RUTA EN STRING
'Dim TempPicture As String
Dim TempFile As String-------DECLARO OTRA VARIABLE EN STRING PARA QUE TOME A LA QUE ESTA CARGADA EN DATA!
TempFile = Temp() & ".png"
TempFile = Data---------------TOMANDO LO QUE TIENE DATA ADENTRO!
Try ReportImage1.Image = Image.Load(TempFile)--LUEGO MUESTRO LO CARGADO PERO COMO IMAGEN EN VISTA PREVIA Y LISTO!!
End

MIRE COMO MUESTRA LA IMAGEN RECIÉN CARGADA DEL FORMULARIO PARA LUEGO VERLA EN UN REPORT EN ZOOM JEJEJE:

 zoom_resuelto

DISCULPE LAS MAYÚSCULAS SEÑOR SHELL POR TANTO ALBOROTO PERO ES QUE NO SUPE EXPLICAR DE LA MEJOR MANERA, MUCHAS GRACIAS

SALUDOS Y UN ABRAZO.
 



 
última edición por jousseph el Jueves, 04 Julio 2013, 05:48; editado 1 vez 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Unos Detalles Con Las Imágenes Cargadas En Un Picture Y Hacer Zoom 
 
Hola jousseph.

Esta claro que a veces no estamos centrados.  
Y si tienes algo en mente es peor.

Es lo que pensé de un principio, que le pasaras un string con la ruta, antes que el resultado de una consulta.
Era mas sencillo.

Podemos complicarlo, hay que tomar las cosas con calma y verlas mejor. Darle un poco de tiempo siempre que podamos.
Me alegro de que solucionases el problema.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - 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 Algoritmo Para Hacer Zoom Dinámico Con La... Alaplancha Aplicaciones/Fragmentos de Código 5 Miercoles, 26 Diciembre 2012, 04:05 Ver último mensaje
jousseph
No hay nuevos mensajes ¿ Existe Una Forma Sencilla De Hacer Un Z... Shell General 3 Viernes, 05 Julio 2013, 04:21 Ver último mensaje
jousseph
No hay nuevos mensajes Unos Detalles Con Los Controles Textbox Y ... jousseph Controles/Librerías/Componentes 5 Jueves, 20 Noviembre 2014, 01:22 Ver último mensaje
vuott
No hay nuevos mensajes ¿ Es Posible Hacer Un Relleno En Imágene... Shell General 13 Jueves, 01 Octobre 2015, 00:08 Ver último mensaje
Shell
 

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