No puedo leer la firma de mi aplic. Mov en Win Form vb

Tengo un pequeño problemilla:
Usando mi aplicación móvil, Estoy enviando mis firmas desde el sqlce al sqlserver guardo los datos sin problemas, el campo del sqlce es image y el del sqlserver es varbinary(max)
El error me sale al tratar de dibujar la imagen almacenada en el sql que es un var binary, tengo las siguientes lineas de código:
Dim aBytes As Byte()
Dim Fila As Integer = Me.dgvFirmas.CurrentRow.Index
If dt.Rows(Fila)("signature").ToString <> "" Then
aBytes = DirectCast(dt.Rows(Fila)("signature"), Byte())
Else
aBytes = Nothing
End If
fotoLogo = aBytes
If fotoLogo IsNot Nothing Then
Dim ms As New IO.MemoryStream()
ms.Write(fotoLogo, 0, fotoLogo.GetUpperBound(0) + 1)
'ms.Position = 0
Me.pbFirma.Image = System.Drawing.Image.FromStream(ms)
ms.Close()
Else
Me.pbFirma.Image = Nothing
End If
El error me sale justo aqui:Me.pbFirma.Image = System.Drawing.Image.FromStream(ms)
Al depurar me dice Error: el parámetro no es válido. Eh puesto otra imagen guardada desde una aplicación de escritorio y si lo puedo leer y visualizar normal, y pues la verdad no se porque no lee la firma enviada desde el aplicativo móvil.

1 Respuesta

Respuesta
1
Probaste creando un archivo en el disco con la imagen que recibes del PDA y después de creada, ¿enviarla al picturebox?
Si creas el archivo de imagen que viene de la PDA en el PC y lo abres en paint pro ejemplo, ¿abre bien?
Eh creado mi firma en el móvil, la he guardado en mi BD del móvil, la he sincronizado y la estoy guardando en mi sql server, ahora estoy creando una aplicación de escritorio para ver las imágenes de acuerdo al ID que seleccione, entonces primero cree un picture box, y te pase el código que me salia al ejecutar el siguiente error: Error el parámetro no es válido.
Ahora estoy probando con una paint y me he quedado atascado aquí:
'creando el bit map para devolver firma
Private Sub InitMemoryBitmap()
' load the background image
_bmp = New Bitmap(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("firmaescritorio2005.sign_here.png"))
' get graphics object now to make drawing during mousemove faster
_graphics = Graphics.FromImage(_bmp)
End Sub
Me sale el siguiente error:
No se puede crear un objeto Graphics desde una imagen que tiene un formato de píxeles indizado.
No se a que se debe este error y gracias porque me eres de mucha ayuda no se como podría agradecerte porque lo que hice hasta ahora gran parte es de tu ayuda =)
No se si ya revisaste este ejemolo de MS:
http://msdn.microsoft.com/en-us/library/aa446559.aspx
Aquí capturan una firma en la PDA la pasan al PC y dibujan en el pC, lo que sucede es que no pasan la imagen si no los puntos que forman la firma y la vuelven a dibujar en el PC.
Utilizan Sockets para comunicar el PC con la PDA. Creo que si revisas este ejemplo te ayudara mucho.
Gracias ya logré hacerlo, pude mostrar mi firma en una aplicación de escritorio de la forma que dices, el problema era que tenia que trabajar de la misma forma de como lo hice con el aplicativo móvil.
Bueno para aprovechar te quisiera preguntar cual es la forma más segura de programar las firmas electrónicas. En este ejemplo el que me enviaste encripta y desencripa la firma, ¿yo tengo hice uno sin encriptar cual podría ser el problema?
Lo más seguro es encriptaando
Todo depende de lo que ue tu quieras hacer.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas