C#下解决DrawImage画出来的Image变大了的问题
如:
private Image image= Resources.image1;//假設image1這張資源圖是360×600這么大
privateGraphics graphics;
graphics.DrawImage(image, 0, 0);//在[0,0]坐標處畫出image,我擦!繪出來的圖片比原圖變大了!
什么原因呢???
原來,DrawImage是與設備相關的函數(shù),也就是,DrawImage會把屏幕的參數(shù)帶上?。?!
所以,它繪制圖像的DPI基本都是96。而我們的圖片是一般是72DPI的。
例如,假定一個 Image 對象的寬度為 216 像素,而存儲的水平分辨率值為 72 點/英寸。因為 216 除以 72 等于 3,所以 DrawImage 將縮放該圖像,使其在
96 點/英寸的分辨率下的寬度為 3 英寸。也就是說,DrawImage 將顯示一個寬度為 96x3 = 288 像素的圖像。
解決法辦:
1:graphics.DrawImage(image, 0, 0, image.Width, image.Height) ;//加上原圖的寬度和高度就OK了
2: image.SetResolution(96, 96) ;//設置SetResolution,使其按96 點/英寸的分辨率顯示
https://www.cnblogs.com/sungong1987/p/5269617.html
總結(jié)
以上是生活随笔為你收集整理的C#下解决DrawImage画出来的Image变大了的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 堡垒之夜要钱吗
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?