我写的一个生成缩略图程序, 生成gif,bmp,png 文件都可以, 就是不能生成jpg 文件, 何解??//按比例缩小上传的图片
System.Drawing.Image img;
img = System.Drawing.Image.FromFile(all);
float width = img.Width;
float height = img.Height;
float newwidth = 0;
float newheight = 0;
if (width > height)
{
newwidth = 135;
newheight = height / width * newwidth;
}
else
{
newheight = 135;
newwidth = width / height * newheight;
}
System.Drawing.Image outimg = img.GetThumbnailImage((int)newwidth,(int)newheight,null,IntPtr.Zero);
string newfiles = path + newfilename + ".jpg";
outimg.Save(newfiles);outimg.Dispose();
img.Dispose();各位老大看看是什么问题? 俺真的服了, 唉....

解决方案 »

  1.   

    跟画布大小应该是无关的, 
    如果上传jpg文件, 用以下方法保存是会报GDI 中发生一般性错误, 
    outimg.Save(newfiles,System.Drawing.Imaging.ImageFormat.Jpeg); 
    如果改成outimg.Save(newfiles,System.Drawing.Imaging.ImageFormat.Gif) 就能顺利生成,
    但改成outimg.Save(newfiles,System.Drawing.Imaging.ImageFormat.Gif) 后, 上传gif文件生成缩略图就报GDI 中发生一般性错误,  现在连问题的根源都不清楚, 唉...
      

  2.   

    监测一下你的newwidth和newheight是不是未预期的数据
      

  3.   

    不行, 我一开始就是用outimg.Save(newfiles) 的, 失败, 555~~~
      

  4.   

    检查是否是权限问题
    1. 确认没有同名jpg文件存在
    2. 确认aspnet或者network service有覆盖文件等相应权限
      

  5.   

    vivianfdlpw() 一言惊醒梦中人啊!! 果然是重名了!!!