C#中提高保存jpg图像的质量
C#中提高保存jpg图像的质量
在程序中直接生成的jpg图像,汉字有毛边,生成的图片会不清楚。处理一下可以提高质量。
联合图像专家组 (JPEG) 文件中的压缩由一组 quantization 表控制。 通常,会有两个表在每个文件: 一个用于亮度 (亮度) 信息,另一个用于 chrominance (颜色) 信息。 这些表是确定的离散的余弦值为 8x8 块 quantized 方式的 8x8 矩阵。
JPEG 质量系数用于生成一对 quantization 表。 许多应用程序基于独立 JPEG 组 (IJG) 代码的生成相同的 quantization 表,为 IJG 引用代码。 但是,一些应用程序可能而是使用自定义 quantization 表。
JPEG 编码器 System.Drawing 中提供的编码器参数设置 JPEG 质量系数保存 JPEG 文件。 此编码器参数符合的 1 到 100 范围使用整数的约定。 此编码器参数的值将影响创建和使用 quantization 表与建议的质量系数。
具体代码如下:
System.Drawing.Image newimage = System.Drawing.Image.FromFile("c:\\00.jpg");
Bitmap bt = new Bitmap(newimage);
Graphics g = Graphics.FromImage(bt);
(中间略去在画布上绘图的代码)
string lujing = @"c:\1.jpg";
//处理JPG质量的函数
int level = 100; //图像质量 1-100的范围
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo ici = null;
foreach (ImageCodecInfo codec in codecs)
{
if (codec.MimeType == "image/jpeg")
ici = codec;
}
EncoderParameters ep = new EncoderParameters();
ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)level);
bt.Save(lujing, ici, ep);
//释放位图缓存
bt.Dispose();
Bitmap bt = new Bitmap(newimage);
Graphics g = Graphics.FromImage(bt);
(中间略去在画布上绘图的代码)
string lujing = @"c:\1.jpg";
//处理JPG质量的函数
int level = 100; //图像质量 1-100的范围
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo ici = null;
foreach (ImageCodecInfo codec in codecs)
{
if (codec.MimeType == "image/jpeg")
ici = codec;
}
EncoderParameters ep = new EncoderParameters();
ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)level);
bt.Save(lujing, ici, ep);
//释放位图缓存
bt.Dispose();

参考文档:
根据文件扩展名获取图片编码器如jpg/png格式|C/S开发框架
C#根据图片文件扩展名(.jpg/.png/.bmp)获取图片编码器
C# Image图片格式转换(gif/jpg/png/bmp)-C/S开发框架
C# Image图片格式转换(gif/jpg/png/bmp)
审核/反审核jpg png PSD文件下载
通用图片处理类CImageLibrary,预设存储JPG格式|C/S框架网
C#使用Graphics合成二维码和头像的分享图(小程序分享、App分享)-C/S开发框架
基于C/S架构阿里巴巴电商运营管理系统-阿里数据王,阿里国际站运营神器
ASP.NET MVC中几种常用的ActionResult详解
C# CodeHighlighter生成的高亮着色HTML源码格式化
SQLServer SQL函数解析JSON数据格式并返回表
CSFramework.WebApi框架实现阿里云OSS上传、下载、删除文件功能
常见的媒体格式类型HttpWebRequest.ContentType
C# 取真实的文件类型
C#读取资源文件的图片
开发框架处理保存图片数据
根据文件扩展名获取图片编码器如jpg/png格式|C/S开发框架
C#根据图片文件扩展名(.jpg/.png/.bmp)获取图片编码器
C# Image图片格式转换(gif/jpg/png/bmp)-C/S开发框架
C# Image图片格式转换(gif/jpg/png/bmp)
审核/反审核jpg png PSD文件下载
通用图片处理类CImageLibrary,预设存储JPG格式|C/S框架网
C#使用Graphics合成二维码和头像的分享图(小程序分享、App分享)-C/S开发框架
基于C/S架构阿里巴巴电商运营管理系统-阿里数据王,阿里国际站运营神器
ASP.NET MVC中几种常用的ActionResult详解
C# CodeHighlighter生成的高亮着色HTML源码格式化
SQLServer SQL函数解析JSON数据格式并返回表
CSFramework.WebApi框架实现阿里云OSS上传、下载、删除文件功能
常见的媒体格式类型HttpWebRequest.ContentType
C# 取真实的文件类型
C#读取资源文件的图片
开发框架处理保存图片数据
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
