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();
求解决方法
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.ExternalException: GDI+ 中发生一般性错误。源错误:
行 109: string dir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "/";
行 110:
行 111: image.Save(dir + mibaoid + ".jpg");//将图片保存到桌面--此处出错
行 112: image.Dispose();
求解决方法
解决方案 »
- Windows系统加密工具是什么?
- sqlce 删除后查询报错:Value does not fall within the expected range.
- 如何写身份证的正则表达式?请各为看看以下为啥不对?
- 高分问一个很原理的 ASP.NET问题~
- 自己手工创建的dataview绑定到datalist上没反应
- 急求助:对象不能从 DBNull 转换为其他类型。
- 请问:sql存了图片的路径,怎样在页面中把该路径对应的图片显示出来
- 用c#在asp.net客户端怎么判断用户是否输入?
- 各位高手请帮忙:怎样截取 2002-4-5 中的2002 呢?麻烦各位!
- 急! visual studio 2010无法启动程序,没有更多文件
- 急 在线等待! .net问题
- 多种数据库操作
{
//加文字水印
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('图片已保存到您的桌面!');");
}
给你个可用的,自己对比下
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;
}
image.Save(dir + 图片名+ ".jpg");//将图片保存到桌面
改成
image.Save("e:\\"+mibaoid+".jpg");
就可以了
但是我想将这个图片保存到桌面。。
怎么改。。
指定的物理路径不存在。
保存的文件已存在并因某种原因被锁定。
在代码中使用 using 语句,释放 Image 对象所使用的所有资源。
serverImage.GetThumbnailImage(600, 500, new Image.GetThumbnailImageAbort(IsTrue), IntPtr.Zero);
serverImage.Save(path, ImageFormat.Jpeg);
serverImage.Dispose();