CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Alquien Ha Trabajado Con Gdtwain ?

(1/1)

racavi1981:
Buenos dias,

Estoy trabajando en un proyecto que se basa en escanear imagenes para posteriormente insertarlas en la base de datos SQL

Investigando por Internet, consegui un activex llamado: "Gdtwain" que permite la interaccion entre Vb.net y el scanner.

Entre algunas de las opciones que ofrece este activex, es la de guardar la imagen escaneada en un BitArray.

Cuando Inserto el Array no me arroja ningun error, pero cuando quiero recuperar la imagen, me genera un error.

Aqui pongo el codigo.


--- Código: Text ---Private Sub cargar_imagen()Dim sql As String = "SELECT imagen FROM refracciones WHERE id_refraccion='" & TextBox1.Text & "'"         Dim cmd As OleDbCommand = New OleDbCommand(sql, MyConnection)        Dim b() As Byte        b = cmd.ExecuteScalar()         If (b.Length > 0) Then            Dim stream As New MemoryStream(b, True)            stream.Write(b, 0, b.Length)            'Display image            DrawToScale(New Bitmap(stream))----------------->error: "Parameter is not valid."            stream.Close()        End If    End Sub    Private Sub DrawToScale(ByVal img As Image)        PictureBox1.Image = New Bitmap(img)    End Sub 
alguien podria indicarme a que se debe este error, es primera vez que trabajo insertando imagenes en la base de datos.

Muchas Gracias de antemano.

racavi1981:
ya consegui la solucion. :comp:

La posteo aqui en caso de que alguien llegara a presentar el mismo problema que yo tuve  :D


--- Código: Text ---Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click        Dim nImageID As Integer        Dim ms As Array         If twain1.TwainOpenDefaultSource() Then             If twain1.TwainGetState() = "4" Then                InitScanConfig()                 twain1.TwainSetImageLayout(0.1, 0.3, 2, 5.3)                twain1.TwainSetCurrentResolution(150)                twain1.TwainSetCurrentPixelType(Gdtwain.TwainPixelType.TWPT_RGB) 'RGB                twain1.TwainSetCurrentBitDepth(4) ' 24 bpp                  nImageID = twain1.TwainAcquireToImageID(Me.Handle.ToInt32)                If nImageID <> 0 Then                    Call DisplayNativeImage()                    Call twain1.SaveAsByteArray(ms, 100000, "jpg")                    Call twain1.CloseImage(nImageID)                 End If                 Call twain1.TwainCloseSourceManager(Me.Handle.ToInt32)                'MsgBox("Done !")            Else                MsgBox("can't open default source, twain state is: " & Trim(Str(twain1.TwainGetState)))            End If        End If        Button3.Enabled = True    End Sub 

Nebire:
Lo que has conseguido es una barbaridad...

Meter imágenes en una base de datos es una pérdida de feciciencia de la base de datos... mete 1000 imágenes en la base de datos y luego haz un backup, comprenderás lo que te digo...

Lo adecuado es guardar las imágenes en una carpeta y luego en sql lo que guardas es el nombre y la ruta, si necsitas que las imágenes sean privadas y el acceso adonde están no es restringido, puedes o codificarlo y guardar en la base de datos la clave o comprimir los archivo (por ejemplo en rar) y asignar una sola clave al rar...

Tal vez si sólo vas a guardar un puñado de iconos tendría un pase....

saludos

Kargarof:
Buenas, tengo un problema similar, pero es muy anterior. Estoy investigando sobre las librerías y demás para poder conectar el scanner al programa de visual basic.net.

Quisiera saber si alguien puede decirme como utilizar la librería y que librería es la mejor, gzafiro@gmail.com.

Agradecería mucho la ayuda ya qye tengo que terminar el proyecto en breve y estoy muuuuy atascado. Gracias de antemano.

aftermind:
Hola amigo, gracias por tu código, está excelente, solo te pido si puedes poner el código de cómo insertaste la imagen en la base de datos, ya intenté pero simplemente no he podido, Muchas gracias.

Navegación

[0] Índice de Mensajes

Ir a la versión completa