• Lunes 18 de Noviembre de 2024, 01:25

Autor Tema:  guardar imagen de picturebox  (Leído 18473 veces)

el_rolas

  • Miembro activo
  • **
  • Mensajes: 33
    • Ver Perfil
guardar imagen de picturebox
« en: Sábado 7 de Noviembre de 2009, 22:37 »
0
hola amigos, tengo una super duda, y necesito ayuda, estoy haciendo un programa el cual tiene un picturebox que carga una imagen de un directorio de la computadora, el problema es que ese imagen que cargó el picturebox la quiero guardar como un archivo jpg, esto para que no guardarlo en la base de datos, y guardalo en el directorio de instalacion.

e intentato esto picturebox.Image.Save(@"D:Aoi Systemimagenesmarcas" ); pero no funciona, me sale error generico del GDI+

por favor alguien podria ayudarme

se los agradeceré mucho

tannke

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: guardar imagen de picturebox
« Respuesta #1 en: Domingo 8 de Noviembre de 2009, 12:52 »
0
tienes que poner el nombre del archivo mas la extensión.

Prueba asi mejor: (marcas entiendo que es la imagen) si es carpeta incluye nombrearchivo.jpg

picturebox.Image.Save(@"D:Aoi Systemimagenesmarcas.jpg", ImageFormat.Jpeg );

el_rolas

  • Miembro activo
  • **
  • Mensajes: 33
    • Ver Perfil
Re: guardar imagen de picturebox
« Respuesta #2 en: Domingo 8 de Noviembre de 2009, 16:33 »
0
Cita de: "tannke"
tienes que poner el nombre del archivo mas la extensión.

Prueba asi mejor: (marcas entiendo que es la imagen) si es carpeta incluye nombrearchivo.jpg

picturebox.Image.Save(@"D:Aoi Systemimagenesmarcas.jpg", ImageFormat.Jpeg );

muchas gracias, intentare eso pero y si necesito que sea mas de una imagen?
por ejemplo cargo la imagen la guardo y luego si quiero cargar una nueva

tendra que cambiar de imagen a imagen2 luego a imagen3 y asi sucesivamente

es que esto es para ponerle imagenes a marcas de productos.

tannke

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: guardar imagen de picturebox
« Respuesta #3 en: Domingo 8 de Noviembre de 2009, 17:11 »
0
bueno para esto puedes crear un "int" fuera del metodo, te pongo un ejemplo que yo soy bastante malo para explicarme:

Código: C#
  1.  
  2.  
  3. int Numimagen = 0;
  4.  
  5. private void GuardarImagen()
  6. {
  7.  
  8. picturebox.Image.Save(@"D:Aoi Systemimagenesmarcas"+ Numimagen.ToString()   +".jpg", ImageFormat.Jpeg );
  9. Numimagen++;
  10.  
  11. }
  12.  
  13.  

Eso si, una vez cierres y vuelvas a abrir el programa te sobreescibiria otra vez las imagenes empezando de nuevo por 0, para solucionar eso, deberias, cuando cierres el programa guardar la variable en una Base de Datos(si estas utilizando) o en un archivo, para poder recuperarlo la siguiente vez que cargues el programa.

Espero te sirva, saludos

el_rolas

  • Miembro activo
  • **
  • Mensajes: 33
    • Ver Perfil
Re: guardar imagen de picturebox
« Respuesta #4 en: Domingo 8 de Noviembre de 2009, 17:19 »
0
ok muchas gracias

lo intentare

el_rolas

  • Miembro activo
  • **
  • Mensajes: 33
    • Ver Perfil
Re: guardar imagen de picturebox
« Respuesta #5 en: Domingo 8 de Noviembre de 2009, 18:39 »
0
muchas gracias si funcionó solo una duda existencial, como le puedo hacer, para que la imagen que guarde sea mas chica, que la original que carga como un thumbnail o algo asi.

el_rolas

  • Miembro activo
  • **
  • Mensajes: 33
    • Ver Perfil
Re: guardar imagen de picturebox
« Respuesta #6 en: Domingo 8 de Noviembre de 2009, 19:26 »
0
ahora estoy tratando que la imagen reciba el nombre de un textbox y se guarde, con esto

ptb_marca.Image.Save(@"D:Aoi Systemimagenesmarcas"+ txt_marcas.Text + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);

la imagen se guarda pero sin nombre, en intentado asigar el texto del textbox a una variable de tipo string, pero tampoco funciona.

tannke

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: guardar imagen de picturebox
« Respuesta #7 en: Domingo 8 de Noviembre de 2009, 21:06 »
0
para redimensionar mira haber si esto te es util, sino te buscare uno que utilice hace tiempo y me fue bien:

http://www.netveloper.com/contenido2.aspx?IDC=406_0

Edid: aki te dejo la que utilice:

http://www.subgurim.net/Articulos/csharp/29/trabajo-con-imagenes-con-csharp-redimensionar-una-imagen.aspx

para lo de la imagen sin nombre... no me lo explico, deberia ir bien... siempre y cuando cuando cargas lo de guardar la imagen ya hayas puesto algo en el texbox.

pon un punto de interrupción ahi, aver si txt_marcas.Text da texto o pon un if () comprobando que el texto no sea vacio...

no se...


Saludos

el_rolas

  • Miembro activo
  • **
  • Mensajes: 33
    • Ver Perfil
Re: guardar imagen de picturebox
« Respuesta #8 en: Domingo 8 de Noviembre de 2009, 21:50 »
0
ola muchas gracias por tu ayuda, ya funciona, el nombre no funcionaba por que la linea la ponia a lo ultimo de mi codigo de conexion, cuando lo puse al inicio funciono jeje muchas gracias por todo, por tomarte tu tiempo de leerme y ayudarme.

Código: C#
  1. private void btn_marcas_añadir_Click(object sender, EventArgs e)
  2.         {
  3.  
  4.             ptb_marca.Image.Save(@"D:Aoi Systemimagenesmarcas" + txt_marcas.Text + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
  5.  
  6.             //Cadena de conexion
  7.             String conexion_cadena = "server=localhost; username=root; password=root; database=aoidb";
  8.             MySqlConnection conexion = new MySqlConnection(conexion_cadena);
  9.             bool insertado = false;
  10.  
  11.             if (txt_marcas.Text == "")
  12.             {
  13.                 MessageBox.Show("No puedes añadir el campo marca en blanco");
  14.             }
  15.             else
  16.             {
  17.                 try
  18.                 {
  19.                     conexion.Open();
  20.                     MySqlCommand insertar = new MySqlCommand("INSERT INTO marcas(marca) VALUES ('" + txt_marcas.Text + "')", conexion);
  21.                     insertar.ExecuteNonQuery();
  22.                     insertado = true;
  23.                 }
  24.                 catch (MySqlException ex)
  25.                 {
  26.                     MessageBox.Show(ex.Message);
  27.                 }
  28.                 finally
  29.                 {
  30.                     conexion.Close();
  31.                     dts_marcas.Clear();
  32.                     actualizar_marcas();
  33.                     txt_marcas.Clear();
  34.                     if (insertado == true)
  35.                     {
  36.                         MessageBox.Show("Se ha añadido correctamente la marca");
  37.                     }
  38.                 }
  39.             }
  40.         }
  41.  

tannke

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: guardar imagen de picturebox
« Respuesta #9 en: Domingo 8 de Noviembre de 2009, 22:24 »
0
Un placer, cualquier cosa que necesites aqui estamos.

Un saludo