1/// <summary> 2 /// 生成缩略图 3 /// </summary> 4 /// <param name="sourceFile">原始图片文件</param> 5 /// <param name="quality">质量压缩比</param> 6 /// <param name="multiple">收缩倍数</param> 7 /// <param name="outputFile">输出文件名</param> 8 /// <returns>成功返回true,失败则返回false</returns> 9 public static bool getThumImage(string sourceFile, long quality, int multiple, string outputFile) 10 { 11 try 12 { 13 long imageQuality = quality; 14 Bitmap sourceImage = new Bitmap(sourceFile); 15 ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg"); 16 Encoder myEncoder = Encoder.Quality; 17 EncoderParameters myEncoderParameters = new EncoderParameters(1); 18 EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, imageQuality); 19 myEncoderParameters.Param[0] = myEncoderParameter; 20 float xWidth = sourceImage.Width; 21 float yWidth = sourceImage.Height; 22 Bitmap newImage = new Bitmap((int)(xWidth / multiple), (int)(yWidth / multiple)); 23 Graphics g = Graphics.FromImage(newImage); 24 g.DrawImage(sourceImage, 0, 0, xWidth / multiple, yWidth / multiple); 25 g.Dispose(); 26 newImage.Save(outputFile, myImageCodecInfo, myEncoderParameters); 27 return true; 28 } 29 catch (Exception ex) 30 { 31 return false; 32 } 33 } 34 35 /// <summary> 36 /// 获取图片编码信息 37 /// </summary> 38 private static ImageCodecInfo GetEncoderInfo(string mimeType) 39 { 40 int j; 41 ImageCodecInfo[] encoders; 42 encoders = ImageCodecInfo.GetImageEncoders(); 43 for (j = 0; j < encoders.Length; ++j) 44 { 45 if (encoders[j].MimeType == mimeType) 46 return encoders[j]; 47 } 48 return null; 49 }
C# 图片缩略图
Wesley13
2021-10-11
1159 0 0
点赞
收藏
评论区
加载中...