C# 生成图片清晰度问题(转载)
最近做一個曲線統計圖,其中在默認的情況下生成的圖片是質量不高的,最好更改了一些屬性實現了,圖片,文字的高清晰的現實,一下是一些總結:
對于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# 生成图片清晰度问题(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jsp写php一句话,asp,aspx,
- 下一篇: 钓鱼网站实施过程