none
Guardar imagen capturada camara web a sql RRS feed

  • Pregunta

  • buenas tardes me podrían ayudar a Guardar imagen capturada cámara web en visual studio  a sql no con ruta sino la imagen guardada trasformada a bits

    Willian61x

    miércoles, 3 de enero de 2018 18:12

Todas las respuestas

  • Buenas 

    puede parecer muy complicado pero en realidad es bastante sencillo te cuento,

    Puedes hacerlo de  varias maneras, la típica manera es transformar la imagen como un array de bytes e insertarla en un campo del tipo bynari

    Otro forma seria pasarla a array de bytes pero luego convertirla a string y guardarla como texto en la base de datos.

    Para ambas formas puedes restaurar la imagen haciendo el proceso al revés.

    Te pasteo el código de  la primera opción que es la más usada.  para el ejemplo se supone que la imagen es un Png.

    public byte[] ImageToByteArray(System.Drawing.Image imageIn)
    {
       using (var ms = new MemoryStream())
       {
          imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Png);
          return ms.ToArray();
       }
    }


    miércoles, 3 de enero de 2018 23:42
  • buenas noches amigo desde antemano muchas gracias  en sql tengo el campo Imagen = image

    y en visual studio lo guardo con este código, lo guarda normal cuando cargo la imagen desde un openfile dialog pero cuando tomo la foto desde la webcam ne sale este mensaje "el valor no puede ser nulo, nombre del parámetro: encoder"

    If Me.ValidateChildren = True And TxtProductoWrs.Text <> "" And TxtDesccripcionWrs.Text <> "" And TxtPrecio_CompraWrs.Text <> "" And TxtPrecio_VentaWrs.Text <> "" Then
                Try
                    Dim dts As New Vproducto
                    Dim func As New fproducto

                    dts.gProducto = TxtProductoWrs.Text
                    dts.gIdCategoria = TxtidCategoriaWrs.Text
                    dts.gDescripcion = TxtDesccripcionWrs.Text
                    dts.gCodigo = TxtCodigoWrs.Text
                    dts.gCodigo_Barras = TxtCodigoBarrasWrs.Text
                    dts.gPrecio_Compra = TxtPrecio_CompraWrs.Text
                    dts.gPrecio_de_Venta = TxtPrecio_VentaWrs.Text
                    dts.gPrecio_Venta_2 = TxtPrecioVentaCasaWrs.Text
                    dts.gProveedor = CbProveedorWrs.Text
                    dts.gGanancia = txtGananciaWrs.Text
                    Dim ms As New IO.MemoryStream()

                    If Not PtbImagenWrs.Image Is Nothing Then
                        PtbImagenWrs.Image.Save(ms, PtbImagenWrs.Image.RawFormat)
                    Else
                        PtbImagenWrs.Image = My.Resources.file
                        PtbImagenWrs.Image.Save(ms, PtbImagenWrs.Image.RawFormat)
                    End If
                    dts.gImagen = ms.GetBuffer


                    If func.insertar(dts) Then
                        MessageBox.Show("Producto registrado correctamente", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        mostrar()
                        limpiar()
                        BtnGuardarWrs.Visible = True
                        BtnGuardarWrs.Enabled = False
                        BtnCancelarWrs.Enabled = False
                        BtnEditarWrs.Visible = False
                        BtnCargarWrs.Enabled = False
                        BtnLimpiarWrs.Enabled = False
                        TxtProductoWrs.Enabled = False
                        TxtDesccripcionWrs.Enabled = False
                        TxtCodigoBarrasWrs.Enabled = False
                        TxtCodigoWrs.Enabled = False
                        TxtPrecio_VentaWrs.Enabled = False
                        TxtPrecioVentaCasaWrs.Enabled = False
                        TxtPrecio_CompraWrs.Enabled = False
                        CbProveedorWrs.Enabled = False
                        BtnBuscarWrs.Enabled = False
                    Else
                        MessageBox.Show("Producto no fue registrado intente de nuevo", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
                        mostrar()
                        limpiar()
                    End If

                Catch ex As Exception
                    MsgBox("Escoja la categoria del producto")

                End Try
            Else
                MessageBox.Show("Falta ingresar algunos datos", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If




    Willian61x

    jueves, 4 de enero de 2018 1:04
  • Deberás enviarme esa parte del código para ver como guardas la imagen desde la webcam.

    jueves, 4 de enero de 2018 11:46
  • buenos días Primero capturo en un formulario y la envio a un piturebox y despues al formulario en el que quiero guardar

     ' Copy image to clipboard
            '
            SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0)

            ' Get image from clipboard and convert it to a bitmap
            '
            DATOS = Clipboard.GetDataObject()

            IMAGEN = CType(DATOS.GetData(GetType(System.Drawing.Bitmap)), Image)
            ptbCamaraWrs.Image = IMAGEN

     Private Sub GUARDAR_Click(sender As Object, e As EventArgs) Handles GUARDAR.Click
            FrmProductosWrs.PtbImagenWrs.Image = New Bitmap(ptbCamaraWrs.Image)
            Me.Hide()
        End Sub


    Willian61x

    jueves, 4 de enero de 2018 14:54