Autor Tema: Pasar de ucImage a Picture o Image  (Leído 8655 veces)

0 Usuarios y 1 Visitante están viendo este tema.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Pasar de ucImage a Picture o Image
« 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
Me encuentras en YAcosta.com

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Pasar de ucImage a Picture o Image
« Respuesta #1 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

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Pasar de ucImage a Picture o Image
« Respuesta #2 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

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Pasar de ucImage a Picture o Image
« Respuesta #3 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.
Me encuentras en YAcosta.com

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Pasar de ucImage a Picture o Image
« Respuesta #4 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
Me encuentras en YAcosta.com

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Pasar de ucImage a Picture o Image
« Respuesta #5 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ú
Saludos, desde algún lugar de Lima-Perú

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Pasar de ucImage a Picture o Image
« Respuesta #6 en: Septiembre 19, 2014, 10:03:52 pm »
Ah excelente doc, en 5 minutos subo el proyecto de ejemplo
Me encuentras en YAcosta.com

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Pasar de ucImage a Picture o Image
« Respuesta #7 en: Septiembre 19, 2014, 10:16:11 pm »
Me encuentras en YAcosta.com

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Pasar de ucImage a Picture o Image
« Respuesta #8 en: Septiembre 20, 2014, 02:38:38 pm »
Ta yuca no?
Me encuentras en YAcosta.com

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Pasar de ucImage a Picture o Image
« Respuesta #9 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
 
Saludos, desde algún lugar de Lima-Perú
Saludos, desde algún lugar de Lima-Perú

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Pasar de ucImage a Picture o Image
« Respuesta #10 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.

 
Me encuentras en YAcosta.com

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Pasar de ucImage a Picture o Image
« Respuesta #11 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ú
« última modificación: Septiembre 20, 2014, 05:08:09 pm por Albertomi »
Saludos, desde algún lugar de Lima-Perú

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Pasar de ucImage a Picture o Image
« Respuesta #12 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ú

 
Saludos, desde algún lugar de Lima-Perú

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Pasar de ucImage a Picture o Image
« Respuesta #13 en: Septiembre 20, 2014, 10:07:38 pm »
Ya, bacan doc. Ahorita hago el ejemplo.
« última modificación: Septiembre 20, 2014, 10:13:40 pm por YAcosta »
Me encuentras en YAcosta.com

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Pasar de ucImage a Picture o Image
« Respuesta #14 en: Septiembre 20, 2014, 11:09:49 pm »
Ya esta, aqui el ejemplo de lo que hice

Proyecto ucImage v3

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)   :-)
Me encuentras en YAcosta.com