批量图片格式与尺寸转换
引用 System.Drawing.dll
/// <summary> /// 开始转换图片 /// </summary> /// <param name="path">源文件路径(完整路径,包括文件名)</param> /// <param name="savePath">生成图片保存路径(包括文件名包括文件名,但不包括文件格式)</param> /// <param name="width">新生成图片宽度</param> /// <param name="height">新生成图片高度</param> /// <param name="format">格式,默认为gif(需生成多种格式,则以"|"隔开,例如"jpg|gif|png")</param> /// <returns></returns> public static bool Start(string path,string savePath,int width, int height,string format) { if (File.Exists(path)) { try { Image resimage = Image.FromFile(path); Bitmap bitmap = new Bitmap(resimage, new Size(width, height)); ImageFormat[] ilist = GetFormat(format); if (!savePath.EndsWith(".")) savePath += "."; foreach (ImageFormat imgfor in ilist) { string backname = imgfor.ToString().ToLower(); if (backname == "jpeg") backname = "jpg"; bitmap.Save(savePath + backname, imgfor); } resimage.Dispose(); bitmap.Dispose(); } catch { return false; } return true; } else { return false; } } /// <summary> /// 获取待生成的图片格式列表,可能需要生成多种格式 /// </summary> /// <param name="formats">参数,多种格式以"|"隔开</param> /// <returns></returns> protected static ImageFormat[] GetFormat(string format) { if (string.IsNullOrEmpty(format)) format = "gif"; else format = format.ToLower(); string[] formats = format.Split('|'); ImageFormat[] formatlist = new ImageFormat[formats.Length]; for (int i = 0; i < formats.Length; i++) { switch (formats[i]) { case "jpg": formatlist[i] = ImageFormat.Jpeg; break; case "png": formatlist[i] = ImageFormat.Png; break; default: formatlist[i] = ImageFormat.Gif; break; } } return formatlist; }