none
Datarepeater agregar imagenes u otra opcion RRS feed

  • Pregunta

  • Hola como va,  en un proyecto tengo un picturebox1 que contiene imágenes escaneadas luego tengo un control datarepeater con un picturebox2 lo que pretendo hacer es en un botón agregar ir cargando las imágenes que se escanean ya que se tratan de legajos con N cantidad de hojas, necesito un poco de ayuda o sugerencias de como escanear imágenes e ir adosando hasta que cuando finalice tengo unos texbox donde se cargan datos del legajo y guarde la relación de todas las imágenes con ese legajo desde ya gracias
    lunes, 5 de febrero de 2018 14:49

Respuestas

  • Hola leyendo un poco voy avanzando dejo el código y explico

    private void btnAgregar_Click(object sender, EventArgs e)
            {
               
    
                
                Image img = Image.FromFile(pictureBox1.ImageLocation);
                
                DataRow dr = dt.NewRow();
                dr["col1"] = imageToByteArray(img);
                dt.Rows.Add(dr);
    
                pictureBox2.Image = byteArrayToImage((byte[])dt.Rows[0]["col1"]);
                dataRepeater1.DataSource = dt;
                
            }
            public byte[] imageToByteArray(System.Drawing.Image imageIn)
            {
                MemoryStream ms = new MemoryStream();
                imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
                return ms.ToArray();
            }
            public Image byteArrayToImage(byte[] byteArrayIn)
            {
                MemoryStream ms = new MemoryStream(byteArrayIn);
                Image returnImage = Image.FromStream(ms);
                return returnImage;
            }
    Me faltaría limpiar la ruta de la imagen para poder agregar la segunda imagen porque por mas que escaneo una nueva imagen del picturebox1 me agrega la primera imagen que escanee 

    lunes, 5 de febrero de 2018 16:54

Todas las respuestas

  • Hola leyendo un poco voy avanzando dejo el código y explico

    private void btnAgregar_Click(object sender, EventArgs e)
            {
               
    
                
                Image img = Image.FromFile(pictureBox1.ImageLocation);
                
                DataRow dr = dt.NewRow();
                dr["col1"] = imageToByteArray(img);
                dt.Rows.Add(dr);
    
                pictureBox2.Image = byteArrayToImage((byte[])dt.Rows[0]["col1"]);
                dataRepeater1.DataSource = dt;
                
            }
            public byte[] imageToByteArray(System.Drawing.Image imageIn)
            {
                MemoryStream ms = new MemoryStream();
                imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
                return ms.ToArray();
            }
            public Image byteArrayToImage(byte[] byteArrayIn)
            {
                MemoryStream ms = new MemoryStream(byteArrayIn);
                Image returnImage = Image.FromStream(ms);
                return returnImage;
            }
    Me faltaría limpiar la ruta de la imagen para poder agregar la segunda imagen porque por mas que escaneo una nueva imagen del picturebox1 me agrega la primera imagen que escanee 

    lunes, 5 de febrero de 2018 16:54
  • Hola como no le encontré la vuelta lo hice con un datagridview, muestro la imagen de forma correcta y me deja agregar N cantidad de hojas escaneadas, asi que voy a ir por ese lado de todas formas si se puede resolver con el datarepeater estaria bueno, tambien faltaria la parte de leer las imagenes del control y guardarlas
    lunes, 5 de febrero de 2018 18:11