我改成下面的代码,上面的内存不足没有了,结果在
g.DrawImage(原图, rect);
这一句又出现内存不足。
string ss = "d:\\PD303(1).jpg"; public static string 图像减小(String 原图文件路径)
{
System.IO.FileInfo ff = new FileInfo(原图文件路径);
string 新图保存路径 = 原图文件路径.Replace(ff.Name, "缩减_" + ff.Name);//旋转后保存文件的绝对路径 System.Drawing.Bitmap 原图 = new System.Drawing.Bitmap(原图文件路径); System.Drawing.Bitmap 新图 = new System.Drawing.Bitmap(原图.Width/4 , 原图.Height/4 ); System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(新图);//画新图,即剪裁后的图 System.Drawing.Rectangle rect = new System.Drawing.Rectangle(0, 0, 新图.Width, 新图.Height ); g.DrawImage(原图, rect); g.ResetTransform();
g.Save();
g.Dispose();
新图.Save(新图保存路径, System.Drawing.Imaging.ImageFormat.Jpeg); return 新图保存路径;
}
g.DrawImage(原图, rect);
这一句又出现内存不足。
string ss = "d:\\PD303(1).jpg"; public static string 图像减小(String 原图文件路径)
{
System.IO.FileInfo ff = new FileInfo(原图文件路径);
string 新图保存路径 = 原图文件路径.Replace(ff.Name, "缩减_" + ff.Name);//旋转后保存文件的绝对路径 System.Drawing.Bitmap 原图 = new System.Drawing.Bitmap(原图文件路径); System.Drawing.Bitmap 新图 = new System.Drawing.Bitmap(原图.Width/4 , 原图.Height/4 ); System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(新图);//画新图,即剪裁后的图 System.Drawing.Rectangle rect = new System.Drawing.Rectangle(0, 0, 新图.Width, 新图.Height ); g.DrawImage(原图, rect); g.ResetTransform();
g.Save();
g.Dispose();
新图.Save(新图保存路径, System.Drawing.Imaging.ImageFormat.Jpeg); return 新图保存路径;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货