c # - Kunne ikke gemme Bitmap-billede med variabelt navn

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg er newbie i C #, jeg forsøger at gemme et Bitmap-billede på knappen klik. Jeg bruger visuel studie 2010 til dette. Jeg kan gemme mit billede med jeg sender en bestemt streng som filnavn. her er min kode for at gemme billede: -


    private void button1\_Click(object sender, EventArgs e)
    { 

        bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
        gfxScreenshot = Graphics.FromImage(bmpScreenshot);
        gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
        bmpScreenshot.Save("img.jpg", ImageFormat.Jpeg);
    }


Men jeg vil gerne gemme dette billede med navnet som tidspunkt, hvor billedet blev taget. Så jeg tilføjer dette i min kode: -


    private void button1\_Click(object sender, EventArgs e)
    { 
        string time = DateTime.Now.ToString("hh:mm:ss");
        string img = time + ".jpg";
        bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
        gfxScreenshot = Graphics.FromImage(bmpScreenshot);
        gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
        bmpScreenshot.Save(img, ImageFormat.Jpeg);

    }


Denne kode bygger fint, men når jeg klikker på min knap, fik jeg denne undtagelse: -


NotSupportedException was handled


Kan nogen fortælle mig, hvordan man gemmer mit billede med navn som tidskode.

Bedste reference


Navnet på filen skal ikke bestå :. Prøv at ændre det til understregning eller blot fjerne det:


private void button1\_Click(object sender, EventArgs e)
{ 
    string time = DateTime.Now.ToString("HHmmss");
    string img = time + ".jpg";
    bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
    gfxScreenshot = Graphics.FromImage(bmpScreenshot);
    gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
    bmpScreenshot.Save(img, ImageFormat.Jpeg);

}