读书人

批量图片格式与分寸转换

发布时间: 2013-09-28 10:01:20 作者: rapoo

批量图片格式与尺寸转换

引用 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;           }




读书人网 >编程

热点推荐