Pregunta: | 5135 - COMO PASAR UNA IMAGEN ALMACENADA EN UN ARRAY A PICTUREBOX |
Autor: | Pedro Molina |
Tengo una imagen en un array de bytes. Necesito pasarla a un picturebox. Lo he intentado con StretchDIBits y con BitBlt, pero no he sido capaz. No sé si estará mal la declaración de la función o qué. DECLARACIÓN: Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Declare Function StretchDIBits Lib "gdi32" (ByVal hDC As Long, ByVal DestX As Long, ByVal DestY As Long, ByVal wDestWidth As Long, ByVal wDestHeight As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal wSrcWidth As Long, ByVal wSrcHeight As Long, ByVal lpBits As Long, BitsInfo As BITMAPINFO, ByVal wUsage As Long, ByVal dwRop As Long) As Long USO: With frmWebComm.Picture1 .ScaleMode = vbPixels result = StretchDIBits(.hDC, 0, 0, 160, 120, 0, 0, 160, 120, VideoData(0), bm, dib_rgb_colors, srccopy) ´result = BitBlt(.hDC, 0, 0, 160, 120, VideoData(0), 0, 0, srccopy) END WITH Os agradezco la ayuda. Un saludo. |
Respuesta: | Toninho Villena |
Solo haz lo siguiente si fuera el caso del visual basic 2005
(a la proxima especifica en que estas programando para poderte ayudar) Aqui te doy una idea Dim bits As Byte() = CType(ImagenByte, Byte()) 'Obtengo el codigo binario de la imagen Dim memorybits As New MemoryStream(bits) Dim bitmap As New Bitmap(memorybits) Picture1.Image = bitmap y ya ta eso es todo.. PD. ImageByte = Array de Bytes que ya tienes |
Respuesta: | Yavir Robles Ortíz |
Hola, tengo una función que pasa a un PictureBox una imagen almacenada en una Base de Datos en un campo de Bytes, muy probablemente te sirva, escribeme y te la mando. Otra forma es que hagas una pequeña Base de Datos donde almacenes los datos de ese array y por medio de un control Data, ligues el Picture con la propiedad DataSource y automáticamente se desplegará la imágen sin tener que hacer ninguna operación.
YRO. |