none
Guardar Imagen C# en formato jpg en directorio RRS feed

  • Pregunta

  • hola amigos, en esto del mundo de la programacion hay muchos caminos pero no eh visto alguno que me ayude, en esta ocacion el proble consiste en copiar una imagen al portapapeles (esta parte esta resuelta) luego no se como guardarla como un jpg en x directorio, les dejo el codigo que hice y claro esta no sirve.

     case "captura":
                        InputSimulator.SimulateKeyPress(VirtualKeyCode.SNAPSHOT);
                        System.Windows.Clipboard.GetImage();
                        .save imagen.jpg
    save path c:\imagenes
                            speakOut("¡Listo!");
                            
                       
                        
                        break;

    bueno basicamente es el contexto de lo que quiero hacer, espero me puedan ayudar

    domingo, 3 de diciembre de 2017 12:54

Respuestas

  • gracias poar la respuesta, no supe adaptarlo a mi proyecto lo que hice y como lo resolvi, fue dandole el nombre de la fecha actual con horas y segundos, ya que los segundos siempre van cambiando nunca van a coincidir los nombres de los archivos y bueno sirve para tener una referencia futura, de todos modos gracias me lo llevare para futuros casos donde el hecho de la fecha no aplique
    lunes, 4 de diciembre de 2017 10:22

Todas las respuestas

  •  tienes razon en decir eso , solo que por falta de conocimiento vi esta opcion viable, enseñame, como deberia ser la manera correcta, no suena antipatico, es la realidad , por eso explicame este error y como deberia ser, gracias amigo por la ayuda y lamento las molestias, gracias nuevamente, funciono de manera perfecta , solo que no crea el directorio automaticamente, por eso me daba error hasta que lo cree.

    abria alguna forma de q lo creara automaticamente al crear la imagen y no sustituyera la imagen que ya esta osea guardara

    imagen1

    imagen2

    imagen3

    y  no las sobre escribiera?

    domingo, 3 de diciembre de 2017 14:29
  • amigo resolvi de una manera ciertamente practica, pero si tienes otra idea a la mia que es lo mas seguro me gustaria conocerla, gracias de antemano
    domingo, 3 de diciembre de 2017 17:22
  • Hola, a quedado un poco confusa tu consulta ya que se en borrado alunas respuestas, lo que entiendo es que has resuelto la manera de salvar la imagen y queda por resolver la enumeración de las imagenes para que no reescriba nuevamete, si este es el caso puedes optar FileSystem.FileExists antes de cargar la imagen, tomando el path que debería guardar, si existe se agrega un contador al nombre de la imagen (imagen1, imagen2, etc)

    Quedaría mas o menos así

    Public int Cont = 1; private void Button2_Click(System.Object sender, System.EventArgs e) { Bitmap bmp; //---------------------------------esto lo tienes resuelto

    //-------------------------------Antes de cargar >>> string Path = "C:Tu ruta\\Imagen" + Cont + ".jpg"; bool Imagexis = File.Exists(Path); while (Imagexis == true) { Cont += 1; Path = "C:Tu ruta\\Imagen" + Cont + ".jpg"; Imagexis = File.Exists(Path) } bmp.Save("C:Tu ruta\\Imagen" + Cont + ".jpg"); Cont = 1; }

    Espero te sirva saludos

    Edito "Imagexis" debe ser bool, disculpas escribí el código a "mano alzada" lo acabo de comprobar

    lunes, 4 de diciembre de 2017 3:02
  • hola

    si revisas la doc del msdn veras que comenta como hacer uso del GetImage() para recuperar la captura

    How to: Retrieve Data from the Clipboard

    if (Clipboard.ContainsImage())
        {
            returnImage = Clipboard.GetImage();
            
        }

    teniendo el Image puedes usar el Save

    Save(String)

    para grabarla a un archivo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 4 de diciembre de 2017 10:15
  • gracias poar la respuesta, no supe adaptarlo a mi proyecto lo que hice y como lo resolvi, fue dandole el nombre de la fecha actual con horas y segundos, ya que los segundos siempre van cambiando nunca van a coincidir los nombres de los archivos y bueno sirve para tener una referencia futura, de todos modos gracias me lo llevare para futuros casos donde el hecho de la fecha no aplique
    lunes, 4 de diciembre de 2017 10:22
  • >>dandole el nombre de la fecha actual con horas y segundos, ya que los segundos siempre van cambiando

    usaste algo como ser

    string nombrefile = string.Format("nombreprefijo_{0:yyyyMMdd_HHmmss}.jpg", DateTime.Now);
    
    string ruta = Path.Combine(Application.StartupPath, nombrefile);

    la idea es aplicar un formato custom de fecha cuando aplicas formato

    luego lo unes a la ruta base, en este caso el startuppath sera la carpeta dodne esta el .exe, pero puedes ser alguna otra diferente

    Custom Date and Time Format Strings


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    lunes, 4 de diciembre de 2017 10:31
  • Hola Como activar opciones en asp.net

    Para que las respuestas brindadas por los colaboradores puedan ser útiles para el resto de la comunidad, favor de marcarlas.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    lunes, 4 de diciembre de 2017 21:40
    Moderador
  • este video me funcionó perfectamente, quizás alguno de ustedes tambien les sirva, saludos  puedes descargar el proyecto en la descripcion de este video

    https://www.youtube.com/watch?v=oqcd6blPAB0&t=91s
    miércoles, 11 de noviembre de 2020 5:16