Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: YAcosta en Septiembre 19, 2014, 04:05:48 pm

Título: Pasar de ucImage a Picture o Image
Publicado por: YAcosta en Septiembre 19, 2014, 04:05:48 pm
No conseguí resolver esto.

En un reporte muestro una fotografía proveniente de un control Picture de esta forma:

Código: (VB) [Seleccionar]
Set .Controls.Item("ImFoto").Picture = Pic.Picture
(si fuera control image seria similar)
De tal manera que la foto la puedo cambiar dinamicamente.

Resulta que ahora las foto las tengo en el control ucImage y de alli no veo como pasar la foto del ucImage al Datareport, siendo que si puedo pasar de un ucImage a otro ucImage con esto (proporcionado aqui en el foro):

Código: (VB) [Seleccionar]
Dim bvData() As Byte
bvData = frmGraficos.ucOrigen.GetStream
ucDestino.LoadImageFromStream bvData
¿Como podría ahora mostrar en un Picture (o Image) una imagen proveniente de un ucImage? ya que imagino que seria un poco mas facil de ucImage a Picture que de un ucImage a Datareport

Gracias
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: Jeronimo en Septiembre 19, 2014, 05:04:46 pm
Lo que voy a sugerir no sé si técnicamente se puede, ni si será aplicable por la velocidad con la que lo necesites, con lo cual a lo mejor digo una tremenda huevada.
¿No se puede guardar la imagen del ucImage en un archivo y luego cargarla en el control Picture?

Jerónimo
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: raul338 en Septiembre 19, 2014, 05:16:07 pm
Seguramente se pueda crear un StdPicture y por medio de las API OLE se pueda rellenar para usarla como un .Picture ...  como hacerlo? No tengo idea x'D
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: YAcosta en Septiembre 19, 2014, 07:32:21 pm
Lo que voy a sugerir no sé si técnicamente se puede, ni si será aplicable por la velocidad con la que lo necesites, con lo cual a lo mejor digo una tremenda huevada.
¿No se puede guardar la imagen del ucImage en un archivo y luego cargarla en el control Picture?

Jerónimo

Olvide comentar que las imágenes son PNG. Lo cual dificulta mas el tema.
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: YAcosta en Septiembre 19, 2014, 07:34:00 pm
Seguramente se pueda crear un StdPicture y por medio de las API OLE se pueda rellenar para usarla como un .Picture ...  como hacerlo? No tengo idea x'D

jeje, ok, ta medio feo entonces. Lo otro seria conseguir ese codigo que puede capturar una zona de la pantalla, de esa forma capturo la imagen del png y luego lo deposito en el picture. A ver vere una de ellas.

Graicas
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: Albertomi en Septiembre 19, 2014, 10:02:00 pm
Estimado YAcosta
 
Podrías publicar un ejemplo con el control que indicas que tenga cargada las imágenes PNG, para revisar y ver de qué forma se pueden pasar a un PictureBox.
 
Saludos desde algún lugar de Lima-Perú
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: YAcosta en Septiembre 19, 2014, 10:03:52 pm
Ah excelente doc, en 5 minutos subo el proyecto de ejemplo
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: YAcosta en Septiembre 19, 2014, 10:16:11 pm
Listo doc, aqui esta

https://dl.dropboxusercontent.com/u/4052038/Otros/Proyecto%20ucImage.rar
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: YAcosta en Septiembre 20, 2014, 02:38:38 pm
Ta yuca no?
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: Albertomi en Septiembre 20, 2014, 03:05:26 pm
Estimado YAcosta
 
Esta es una primera versión, particularmente me gustaria manejarlo totalmente en memoria pero he tenido algunos problemas
Desde este ling puedes bajar el update de tú ejemplo: http://1drv.ms/1ykmL5r (http://1drv.ms/1ykmL5r)
 
Saludos, desde algún lugar de Lima-Perú
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: YAcosta en Septiembre 20, 2014, 03:28:51 pm
FENOMENAL!!! amigo

Con eso para mi quedo resuelto, mas tarde lo leo a profundidad pero basicamente lo que haces es "descargar" la imagen temporalmente y volverla a subir convirtiendola en bmp (me parece) alojandola en el picture, sufi que con eso queda resuelto para mi.

El unico detalle que modifique es que cambie lngBackColor = Me.BackColor por esto
lngBackColor = vbWhite dado que mis fondos de formulario son azules y como pondre esta imagen en un datareport para impresion queda mejor con fondo blanco.

Aumentamos 2 chelas mas.

 
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: Albertomi en Septiembre 20, 2014, 04:55:54 pm
Estimado YAcosta

En realidad lo que estoy haciendo es lo que había propuesto Jeronimo; estoy valiendo de la función SaveToFile que expone el control ucImageOriginal, para guardar la imagen en un archivo temporal con extensión PNG, ya que tú indicas que el archivo tiene formato PNG.

Visual Basic no soportan de forma nativa imágenes con formato PNG, es por ello, que hago uso de la función LoadPictureGDIPlus para cargar el archivo temporal PNG en los controles PictureBox o Image, y le pasamos el color de fondo mediante la variable lngBackColor

Finalmente, cuando ya tenemos el archivo PNG cargado en el control PictureBox o Image, eliminamos el archivo PNG temporal haciendo uso de Kill.
 
Ya que la función LoadPictureGDIPlus hace uso de GDI+ antes de llamar a la función debemos de invocar a la función InitGDIPlus y cuando terminemos de usarla debemos de invocar a la función FreeGDIPlus.
 

Saludos, desde algún lugar de Lima-Perú
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: Albertomi en Septiembre 20, 2014, 05:06:55 pm
Estimado YAcosta
 

Me parece que sería interesante y nos podría servir de ejemplo si publicas un ejemplo de dicho reporte con DataReport y las imágenes PNG contenidas en el control ucImageOriginal.
 
 
Saludos, desde algún lugar de Lima-Perú

 
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: YAcosta en Septiembre 20, 2014, 10:07:38 pm
Ya, bacan doc. Ahorita hago el ejemplo.
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: YAcosta en Septiembre 20, 2014, 11:09:49 pm
Ya esta, aqui el ejemplo de lo que hice

Proyecto ucImage v3 (https://dl.dropboxusercontent.com/u/4052038/Otros/Foros/Proyecto%20ucImage%20v3.rar)

Y aqui a manera de idea te muestro la parte de mi programa que ahora puede mostrar los PNGs en el datareport.
[youtube]_7tTFg-sN_M[/youtube]  (ponerlo en HD)   :-)
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: Albertomi en Septiembre 21, 2014, 12:52:56 am
Estimado YAcosta
 
Por lo que se ve en el video esta quedando muy bien la aplicación y el código de ejemplo del DataReport con image le ha de ser de mucha utilidad a muchos amigos foreros.
 
Saludos, desde algún lugar de Lima-Perú
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: aedEric en Septiembre 21, 2014, 06:17:17 pm
amigo Yvan muchas felicidades por tu soft muy impresionante saludos
Albertomi gracias tambien por tus aportes saludos desde México
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: gasafonso en Septiembre 21, 2014, 06:48:36 pm
AMigo YAcosta , gracias por tu aporte

Yo lo podria implementar en mi soft de Veterinarias y clinicas de pequeños para mis ecografias y radiografias

Seria bueno poder ver el codigo termiinado , sobre todo la parte que pasas el mouse por encima del articulo y muestra la imagen+


gracias
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: YAcosta en Septiembre 21, 2014, 07:37:00 pm
Gracias muchachos.

Gasafonso, el codigo esta terminado del soft en general, ese tema es solo una parte de la funcionalidad que la queria mejorar y gracias al apoyo la pude terminar, por ende, es super complicado publicar ese codigo (del soft completo que es el que me para la olla) lo que si puedo hacer sin ningun problema es indicarte como hice tal o cual cosa y alli comprobaras que no es nada dificil

Por ejemplo, pasar el mouse sobre la imagen es simplemente hacer un ucPic.visible = true y jugar con los X y Y en el evento mousemove, si quieres te publico esa parte del codigo mas tarde porque ahorita te estoy escribiendo desde el inframundo.
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: gasafonso en Septiembre 22, 2014, 02:20:01 pm
Ok si si ,obvio que no pretendo que publiques tu codigo fuente del soft , solo queria sacar el ejemplo del mouse con el  ucImage


gracias amigooooo
Título: Re:Pasar de ucImage a Picture o Image
Publicado por: Waldo en Septiembre 23, 2014, 02:27:23 pm
Muy linda la interfaz de tu software