最近做一个曲线统计图,其中在默认的情况下生成的图片是质量不高的,最好更改了一些属性实现了,图片,文字的高清晰的现实,一下是一些总结:

对于GDI+,在正常的操作,Bitmap,Graphcis,DrawImage或者DrawString ,生成图片的话,会产生很多杂点,或者是图片质量不稳定…尤其是在读取图片后,生成缩略图之后,文件会被压缩而失真…

主要原因是因为没有重新设置Graphics的几个属性…
1.Graphics.SmoothingMode属性: 例如SmoothingMode.HighQuality可以产生高质量图片,但是效率低.
2.Graphics.CompositingQuality 属性: 例如:CompositingQuality.HighQuality也是产生高质量图,效率低下.
3.Graphics.InterpolationMode 属性,例如:InterpolationMode.HighQualityBicubic与前两个也是同样的效果.
这三个属性的值都是Enum,具体的Enum参数可以查看MSDN的说明,在这里就我不多说了,
如果是对图片进行放大,缩小,可以调整Graphics.CompositingQuality 和Graphics.InterpolationMode 两个属性,如果是图片生成,则可以调整Graphics.SmoothingMode属性

另外一个问题就是关于文字生成的…按照正常的模式生成的文字,可以很明显的看到文字带有锯齿…解决的办法也是需要修改Graphics的一个属 性: Graphics.TextRenderingHint注意一点,修改TextRenderingHint的话,需要引入 System.Drawing.Text,例如:Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;

经过对这四个属性的修改,操作大部分的图片之后,产生的结果都是比较让人满意的…

https://blog.csdn.net/yaoneng321/article/details/83846252

C# 生成图片清晰度问题(转载)相关推荐

  1. H5点击生成图片dome

    最近琢磨想在移动端实现点击按钮保存图片的功能. 在网上搜了好久,发现普遍的方法是:html2canvas.js实现把html转图片,canvas2image.js则实现图片的下载. 把网上的案例套用之 ...

  2. 小程序canvas生成图片保存本地

    小程序canvas生成图片保存本地 注意事项:1.canvas中的图片最好使用 wx.getImageInfo提前下载下来, 2.canvas在处于视图隐藏时期无法生成图片 3.canvas图片生成需 ...

  3. 仅用 480 块 GPU 跑出万亿参数!全球首个“低碳版”巨模型 M6 来了

    继今年 3 月阿里达摩院发布国内首个千亿参数多模态大模型 M6(MultiModality-to-MultiModality MultitaskMega-transformer,以下简称 M6) 之后 ...

  4. HTML/CSS[收藏]

    CSS中的margin.border.padding区别 怎样区分margin和padding 基于html2canvas实现网页保存为图片及图片清晰度优化 转载于:https://www.cnblo ...

  5. 基于HTML5 WebGL实现 json工控风机叶轮旋转

    2019独角兽企业重金招聘Python工程师标准>>> 突然有个想法,如果能把一些用到不同的知识点放到同一个界面上,并且放到一个盒子里,这样我如果要看什么东西就可以很直接显示出来,而 ...

  6. 前端js html转换成pdf可下载打印;前端js可批量生成条形码;前端js可批量生成二维码,生成letter标签

    注意:本文调试的是letter纸尺寸 前端js html转换成pdf可下载打印  html2canvas  + jspdf 前端js生成条形码 Options · lindell/JsBarcode ...

  7. GAN网络评估指标:IS、FID、PPL

    GAN网络评估指标:IS.FID.PPL 转自:IS.FID.PPL,GAN网络评估指标 另外关于GAN的评价指标,推荐李宏毅老师的视频:[機器學習2021]生成式對抗網路 (Generative A ...

  8. FileUpload生成图片水印,文字水印(转载)

    /** <summary>     /// 生成缩略图     /// </summary>     /// <param name="originalImag ...

  9. 转载之码率(Bitrate)、帧率(FPS)、分辨率和清晰度的联系与区别

    视频码率.帧率和分辨率到底哪一个影响电影的清晰度 码率:影响体积,与体积成正比:码率越大,体积越大:码率越小,体积越小. 码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒 ...

最新文章

  1. 如何使用 Python 构建推荐引擎?
  2. 【转】采用dlopen、dlsym、dlclose加载动态链接库
  3. 特别的彩蛋给特别的你,新版官网上线啦!
  4. VTK:可视化之VectorField
  5. [Swift通天遁地]三、手势与图表-(10)创建包含圆点、方形、三角形图标的散点图表...
  6. linux 运行jar main,Maven打包生成jar包并在linux下启动main方法
  7. jtextpane设置不能选中_电脑为什么打不开指定的网站?什么是DNS解析我要如何设置DNS...
  8. 线JSON转jsdoc工具
  9. div模拟textarea在ios下不兼容的问题解决
  10. iOS中转义后的html标签如何还原
  11. 在SQL 2014 Server上安装Northwind和Pubs示例数据库
  12. (详细)华为荣耀8青春 PRA-AL00的usb调试模式在哪里开启的流程
  13. 11决策树算法;12案例实战:使用sklearn构造决策树模型(含数据)
  14. ITS_Android_S 重构的梳理
  15. dao层通用封装_层超类型模式:封装多层系统中的通用实现
  16. [GIS原理] 8.1 空间分析-网络分析
  17. 网页设计相关计算机语言,网页设计使用的编程语言有哪些?
  18. 【富文本】Windows10数字权利
  19. Homebrew的基本使用与常见异常
  20. http异步请求方式

热门文章

  1. 使用P/Invoke来开发用于与串行设备通讯的.NET基类
  2. C#,彩票数学——什么是彩票缩水的数学概念与原理?有什么具体算法?如何在不增加投入金额的情况下保证中奖率?
  3. ORA-02292: 违反完整约束条件 (***.FK_****) - 已找到子记录
  4. Android OpenCV实现文字识别
  5. pyqt tablewidget 设置一行的背景_PyQt+moviepy音视频剪辑实战2:一个剪裁视频文件精华内容留存工具的实现...
  6. 【C语言进阶】③探究浮点数在内存中的存储方式
  7. 线代 | 考研线性代数 解题方法汇总(非知识点汇总)
  8. 这是新技术时代来临,却始终都无法打开局面的“紧箍咒”
  9. 老板说java后台管理系统3天内必须上线,我丢了这套源码给他
  10. ubuntu启动spyder黑屏问题解决办法:QOpenGLShaderProgram::uniformLocation(qt_Matrix): shader program is not linke