GDI+ 中发生一般性错误。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.ExternalException: GDI+ 中发生一般性错误。源错误: 
行 109:            string dir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "/";
行 110:
行 111:            image.Save(dir + mibaoid + ".jpg");//将图片保存到桌面--此处出错
行 112:            image.Dispose(); 
求解决方法

解决方案 »

  1.   

    很多这种问题吗? protected void LinkButton1_Click(object sender, EventArgs e)
            {
              //加文字水印
                System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(".") + "/mibaoka.jpg");//"e:/MIBAOKA/mibaoka.jpg"
                Graphics g = Graphics.FromImage(image);
                g.DrawImage(image, 0, 0, image.Width, image.Height);
                Font f = new Font("Verdana", 11);
                Brush b = new SolidBrush(Color.BlueViolet);
                g.DrawString(ID, f, b, 55, 3);
                strI = Cryptoguard.Num(ID);
                for (int i = 0; i < 8; i++)
                {
                    for (int j = 0; j < 8; j++)
                    {
                        string addText = strI[i][j].ToString();
                        g.DrawString(addText, f, b, 30 + j * 29, 50 + i * 27);
                    }
                }
                g.Dispose();
                //取得桌面路径
                string dir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "/";            image.Save(dir + 图片名+ ".jpg");//将图片保存到桌面
                image.Dispose();
                HelperJs.DoJsFunction(this, "alert('图片已保存到您的桌面!');");
            }
      

  2.   

    我晕,代码问题好多啊------------------------
    给你个可用的,自己对比下
        protected XXXXX()
        {
            System.Drawing.Image img = Test("C:\\1.jpg", 0, 0, 100, 80);
            System.Drawing.Image img2 = img.Clone() as System.Drawing.Image;
            img.Dispose();
            img2.Save("C:\\1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
            img2.Dispose();
        }
        public System.Drawing.Image Test(string imgPath, int x, int y, int width, int height)
        {
            System.Drawing.Image xImg = System.Drawing.Image.FromFile(imgPath);
            System.Drawing.Image oImg = new Bitmap(width, height, xImg.PixelFormat);
            Graphics g = Graphics.FromImage(oImg);
            g.CompositingQuality = CompositingQuality.HighSpeed;
            g.SmoothingMode = SmoothingMode.HighSpeed;
            g.InterpolationMode = InterpolationMode.HighQualityBilinear;        g.DrawImage(xImg, new Rectangle(0, 0, width, height), new Rectangle(x, y, width, height), GraphicsUnit.Pixel);
            xImg.Dispose();        return oImg;
        }
      

  3.   


    image.Save(dir + 图片名+ ".jpg");//将图片保存到桌面
    改成
    image.Save("e:\\"+mibaoid+".jpg");
    就可以了
    但是我想将这个图片保存到桌面。。
    怎么改。。
      

  4.   

    帐户没有写权限。   
    指定的物理路径不存在。   
    保存的文件已存在并因某种原因被锁定。   
    在代码中使用 using 语句,释放 Image 对象所使用的所有资源。 
    serverImage.GetThumbnailImage(600, 500, new Image.GetThumbnailImageAbort(IsTrue), IntPtr.Zero);  
    serverImage.Save(path, ImageFormat.Jpeg);
    serverImage.Dispose();