C# 生成图片清晰度问题(转载)
最近做一個(gè)曲線統(tǒng)計(jì)圖,其中在默認(rèn)的情況下生成的圖片是質(zhì)量不高的,最好更改了一些屬性實(shí)現(xiàn)了,圖片,文字的高清晰的現(xiàn)實(shí),一下是一些總結(jié):
對于GDI+,在正常的操作,Bitmap,Graphcis,DrawImage或者DrawString ,生成圖片的話,會產(chǎn)生很多雜點(diǎn),或者是圖片質(zhì)量不穩(wěn)定…尤其是在讀取圖片后,生成縮略圖之后,文件會被壓縮而失真…
主要原因是因?yàn)闆]有重新設(shè)置Graphics的幾個(gè)屬性…
1.Graphics.SmoothingMode屬性: 例如SmoothingMode.HighQuality可以產(chǎn)生高質(zhì)量圖片,但是效率低.
2.Graphics.CompositingQuality 屬性: 例如:CompositingQuality.HighQuality也是產(chǎn)生高質(zhì)量圖,效率低下.
3.Graphics.InterpolationMode 屬性,例如:InterpolationMode.HighQualityBicubic與前兩個(gè)也是同樣的效果.
這三個(gè)屬性的值都是Enum,具體的Enum參數(shù)可以查看MSDN的說明,在這里就我不多說了,
如果是對圖片進(jìn)行放大,縮小,可以調(diào)整Graphics.CompositingQuality 和Graphics.InterpolationMode 兩個(gè)屬性,如果是圖片生成,則可以調(diào)整Graphics.SmoothingMode屬性
另外一個(gè)問題就是關(guān)于文字生成的…按照正常的模式生成的文字,可以很明顯的看到文字帶有鋸齒…解決的辦法也是需要修改Graphics的一個(gè)屬 性: Graphics.TextRenderingHint注意一點(diǎn),修改TextRenderingHint的話,需要引入 System.Drawing.Text,例如:Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
經(jīng)過對這四個(gè)屬性的修改,操作大部分的圖片之后,產(chǎn)生的結(jié)果都是比較讓人滿意的…
https://blog.csdn.net/yaoneng321/article/details/83846252
總結(jié)
以上是生活随笔為你收集整理的C# 生成图片清晰度问题(转载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jsp写php一句话,asp,aspx,
- 下一篇: 钓鱼网站实施过程