C#实现JPG图片的缩放
目前项目中有对jpg图片进行压缩展示的需求,并且要求压缩后的图片质量较高。一般来说目前常用的压缩图片用的是TinyPNG。但是首先它收费,其次好像对于.NET只支持.NET FrameWork 4.6.1及之后的版本,我们项目目前使用的还是4.5的版本,因此自己查了点资料写了个用C#实现的压缩工具。其中实现压缩的函数是CompressImage(),可以实现规定高度宽度,指定图片保存质量的缩放。主要用的是GDI+实现的,详情的参考请看微软文档。
/// <summary>
/// 压缩图片
/// </summary>
/// <param name="originalFileFullName">原图片地址</param>
/// <param name="afterConversionFileFullName">压缩后保存图片地址</param>
/// <param name="flag">压缩质量(数字越高图片质量约高,也更大)1-100</param>
/// <param name="sW">压缩后宽度</param>
/// <param name="sH">压缩后高度</param>
/// <returns></returns>
public static bool CompressImage(string originalFileFullName, string afterConversionFileFullName, int flag, int sW, int sH)
{
Image iSource = Image.FromFile(originalFileFullName);
ImageFormat tFormat = iSource.RawFormat