using System;
using System.Web;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
/// <summary>
/// 图片旋转函数(经过高质量转换)
/// </summary>
/// <param name="Path"></param>
/// <param name="RotateType"></param>
public static void Rotate(string Path, RotateFlipType RotateType)
{
System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)System.Drawing.Image.FromFile(Path);
bitmap.RotateFlip(RotateType);
try
{
//处理JPG质量的函数
System.Drawing.Imaging.ImageCodecInfo ici = GetEncoderInfo("image/jpeg");
System.Drawing.Imaging.Encoder myEncoder;//这个是重点类,
System.Drawing.Imaging.EncoderParameter myEncoderParameter;
System.Drawing.Imaging.EncoderParameters myEncoderParameters;
myEncoder = System.Drawing.Imaging.Encoder.Quality;
myEncoderParameters = new System.Drawing.Imaging.EncoderParameters(1);
// 在这里设置图片的质量等级为95L.
myEncoderParameter = new System.Drawing.Imaging.EncoderParameter(myEncoder, 92L);
myEncoderParameters.Param[0] = myEncoderParameter;//将构建出来的EncoderParameter类赋给EncoderParameters数组
//以jpg格式保存缩略图
bitmap.Save(Path, ici, myEncoderParameters);
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
bitmap.Dispose();
bitmap = null;
}
}
RotateFlipType 列举型别
| 成员名称 | 说明 |
| Rotate180FlipNone | 指定不翻转的 180 度旋转。 |
| Rotate180FlipX | 指定 180 度旋转,后面接续水平翻转。 |
| Rotate180FlipXY | 指定 180 度旋转,后面接续水平和垂直翻转。 |
| Rotate180FlipY | 指定 180 度旋转,后面接续垂直翻转。 |
| Rotate270FlipNone | 指定不翻转的 270 度旋转。 |
| Rotate270FlipX | 指定 270 度旋转,后面接续水平翻转。 |
| Rotate270FlipXY | 指定 270 度旋转,后面接续水平和垂直翻转。 |
| Rotate270FlipY | 指定 270 度旋转,后面接续垂直翻转。 |
| Rotate90FlipNone | 指定不翻转的 90 度旋转。 |
| Rotate90FlipX | 指定 90 度旋转,后面接续水平翻转。 |
| Rotate90FlipXY | 指定 90 度旋转,后面接续水平和垂直翻转。 |
| Rotate90FlipY | 指定 90 度旋转,后面接续垂直翻转。 |
| RotateNoneFlipNone | 指定不旋转和不翻转。 |
| RotateNoneFlipX | 指定不旋转,后面接续水平翻转。 |
| RotateNoneFlipXY | 指定不旋转,后面接续水平和垂直翻转。 |
| RotateNoneFlipY | 指定不旋转,后面接续垂直翻转。 |
6753

被折叠的 条评论
为什么被折叠?



