首页 > 编程语言 >C# GDI+保存图片设置图片质量_C#保存Jpeg图片质量

C# GDI+保存图片设置图片质量_C#保存Jpeg图片质量

时间:2023-08-26 14:56:13浏览次数:40  
标签:C# myEncoderParameter myEncoder 保存 System myEncoderParameters EncoderParameters 

一、C# GDI+  Image对象保存图片质量

Image bmp = Bitmap.FromFile("3.png");
//默认保存质量 预估80%
bmp.Save("default3.jpg", ImageFormat.Jpeg);

//保存质量
ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg");
System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
EncoderParameters myEncoderParameters = new EncoderParameters(1);
//25L
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 25L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp.Save("default25.jpg", myImageCodecInfo, myEncoderParameters);

//50L
myEncoderParameter = new EncoderParameter(myEncoder, 50L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp.Save("default50.jpg", myImageCodecInfo, myEncoderParameters);
//100L
myEncoderParameter = new EncoderParameter(myEncoder, 100L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp.Save("default100.jpg", myImageCodecInfo, myEncoderParameters);

效果:

default.jpg   +default25.jpg效果

 

 

二、Image.Save() 详细说明:

Image.Save方法共有五种重载  其中Save(String, ImageCodecInfo, EncoderParameters)和Save(Stream, ImageCodecInfo,EncoderParameters)这两种方法课以调节图像质量。 Save.(string ,ImageCodeInfo,EncoderParameters) 使用方法:

参数:

filename                类型:System.String        字符串,包含要将此 Image 保存到的文件的名称。

encoder                 类型:System.Drawing.Imaging.ImageCodecInfo        此 Image 的 ImageCodecInfo。

encoderParams    类型:System.Drawing.Imaging.EncoderParameters            用于该 Image 的 EncoderParameters。

 

获取编码器
    ImageCodecInfo myImageCodecInfo;
    //获得JPEG格式的编码器
    myImageCodecInfo = GetEncoderInfo("image/jpeg");
设置图像质量
    System.Drawing.Imaging.Encoder myEncoder;
    EncoderParameter myEncoderParameter;
    EncoderParameters myEncoderParameters;
    // for the Quality parameter category.
    myEncoder = System.Drawing.Imaging.Encoder.Quality;
    // EncoderParameter object in the array.
    myEncoderParameters = new EncoderParameters(1);
    //设置质量 数字越大质量越好,但是到了一定程度质量就不会增加了,MSDN上没有给范围,只说是32为非负整数
    myEncoderParameter = new EncoderParameter(myEncoder, 100L);
    myEncoderParameters.Param[0] = myEncoderParameter;

 

 

 

更多:

C#图片处理之:图片缩放和剪裁

GDI+ 位图介绍

.Net Core GDI+ 使用基础

标签:C#,myEncoderParameter,myEncoder,保存,System,myEncoderParameters,EncoderParameters,
From: https://www.cnblogs.com/tianma3798/p/17658797.html

相关文章

  • Leetcode 228. 汇总区间
    1.题目描述给定一个无重复元素的有序整数数组nums。返回恰好覆盖数组中所有数字的最小有序区间范围列表。也就是说,nums的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于nums的数字x。列表中的每个区间范围[a,b]应该按如下格式输出"a-......
  • 一次搞定:借助Hutool封装代码快速解决webservice调用烦恼
    前言相信很多同行哪怕学了许多主流技术,但工作上依然免不了和传统企业打交道,而这样的企业往往还在用webservice做接口交互。本文是作者近两年和医疗行业的厂家打交道研究出来的一点调用webservice接口的心得,代码在生产环境也用了挺久了,专门捞出来作为一期干货分享给大家。......
  • 解决el-button的:focus引起的样式问题
    问题描述当点击按钮时,按钮处于灰色状态,但是鼠标移出按钮,按钮并没有回复成原本的颜色问题产生原因在鼠标点击按钮后,按钮处于:focus状态//element的源码.el-button:focus,.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover......
  • LeetCode 131. 分割回文串
    题目链接:LeetCode131.分割回文串题意:给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。回文串是正着读和反着读都一样的字符串。解题思路:dfs算法的过程其实就是一棵递归树,所有的dfs算法的步骤大概有以下几步:找到中止条件:即......
  • 【MySQL 8.0】通过pt-table-checksum校验从库与主库的数据一致性
    通过yum安装percona-toolkit[root@node01~]#wgethttps://repo.percona.com/yum/percona-release-latest.noarch.rpm[root@node01~]#rpm-ivhpercona-release-latest.noarch.rpm[root@node01~]#yuminstall-ypercona-toolkit[mysql@node01~]$pt-table-checksum--......
  • 2007csp初赛
    计算机科学入门-逻辑运算-知乎(zhihu.com)C++运算符优先级_c++运算符的优先级顺序_nicky_zs的博客-CSDN博客......
  • 报错ValueError: Can't find 'adapter_config.json'
    前言在做组内2030项目时,我具体做的一个工作是对大模型进行LoRA微调,在整个过程中有许多坑,其中有些值得记录的问题,于是便产生了这篇博客。问题我在得到微调好的模型后,需要对模型进行性能测评。在加载模型时,遇到如下报错ValueError:Can'tfind'adapter_config.json'补充:报错......
  • Acunetix v23.7 (Linux, Windows) - 漏洞扫描 (Web 应用程序安全测试)
    Acunetixv23.7(Linux,Windows)-漏洞扫描(Web应用程序安全测试)Acunetix|WebApplicationSecurityScanner请访问原文链接:https://sysin.org/blog/acunetix-23/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org重要提示AcunetixPremium现在使用日历化版本......
  • Cisco Secure Web Appliance Virtual 15.0.0 GD - 适用于网络安全的思科高级威胁防护
    CiscoSecureWebApplianceVirtual15.0.0GD-适用于网络安全的思科高级威胁防护AsyncOSforWSA15.0.0GeneralDeployment(GD)请访问原文链接:https://sysin.org/blog/cisco-wsa-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoSecureWebAppliance......
  • Cisco Secure Email Virtual Gateway 15.0.0 GD - 电子邮件安全
    CiscoSecureEmailVirtualGateway15.0.0GD-电子邮件安全AsyncOSforESA15.0.0GeneralDeployment(GD)请访问原文链接:https://sysin.org/blog/cisco-esa-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoSecureEmail提供高级保护措施,保护您的收......