SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: el_rolas en Sábado 7 de Noviembre de 2009, 22:37

Título: guardar imagen de picturebox
Publicado por: el_rolas en Sábado 7 de Noviembre de 2009, 22:37
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
Título: Re: guardar imagen de picturebox
Publicado por: tannke en Domingo 8 de Noviembre de 2009, 12:52
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 );
Título: Re: guardar imagen de picturebox
Publicado por: el_rolas en Domingo 8 de Noviembre de 2009, 16:33
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.
Título: Re: guardar imagen de picturebox
Publicado por: tannke en Domingo 8 de Noviembre de 2009, 17:11
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
Título: Re: guardar imagen de picturebox
Publicado por: el_rolas en Domingo 8 de Noviembre de 2009, 17:19
ok muchas gracias

lo intentare
Título: Re: guardar imagen de picturebox
Publicado por: el_rolas en Domingo 8 de Noviembre de 2009, 18:39
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.
Título: Re: guardar imagen de picturebox
Publicado por: el_rolas en Domingo 8 de Noviembre de 2009, 19:26
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.
Título: Re: guardar imagen de picturebox
Publicado por: tannke en Domingo 8 de Noviembre de 2009, 21:06
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
Título: Re: guardar imagen de picturebox
Publicado por: el_rolas en Domingo 8 de Noviembre de 2009, 21:50
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.  
Título: Re: guardar imagen de picturebox
Publicado por: tannke en Domingo 8 de Noviembre de 2009, 22:24
Un placer, cualquier cosa que necesites aqui estamos.

Un saludo