/// <summary>
/// 按比例缩小图片,自动压缩,自动计算高度
/// </summary>
/// <param name="strOldPic">源图文件名(包括路径)</param>
/// <param name="strNewPic">缩小后保存为文件名(包括路径)</param>
/// <param name="intWidth">缩小至宽度</param>
private static void SmallPicByWidth(string strOldPic, string strNewPic, int intWidth)
{
Bitmap objPic, objNewPic;
EncoderParameter p;
EncoderParameters ps;
try
{
objPic = new System.Drawing.Bitmap(strOldPic);
int imgWidth = objPic.Width;
int imgHeight = objPic.Height;
if (intWidth < imgWidth)
{
imgWidth = intWidth;
imgHeight = (int)((intWidth / (double)objPic.Width) * objPic.Height);
}
objNewPic = new System.Drawing.Bitmap(objPic, imgWidth, imgHeight);
//objNewPic.Save(strNewPic);
ps = new EncoderParameters(1);
//压缩图片,100L最清晰,0L最模糊
p = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 75L);
ps.Param[0] = p;
objNewPic.Save(strNewPic, GetCodecInfo("image/jpeg"), ps);
}
catch (Exception ex) { throw ex; }
}