环境:VS2005 C#
g.DrawRectangle(System.Drawing.Pens.Gray, x, y,width,height);该函数默认的画笔宽度是1个像素。那什么情况下,代码不变,但画笔宽度却变为两像素呢?
当采用双缓冲绘图时,就可能遇到这种情况:
Bitmap bufferimage = new Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(bufferimage);
g.Clear(this.BackColor);
//g.SmoothingMode = SmoothingMode.HighQuality; //高质量
//g.PixelOffsetMode = PixelOffsetMode.HighQuality; //高像素偏移质量
如上,如果不注释掉后面两行(我是全部注释掉了,也许只需注释掉其中一个就行),那么代码里指定的单像素宽度画笔在实际绘制时就会变成两像素宽。希望上述经验能帮助别人:)
g.DrawRectangle(System.Drawing.Pens.Gray, x, y,width,height);该函数默认的画笔宽度是1个像素。那什么情况下,代码不变,但画笔宽度却变为两像素呢?
当采用双缓冲绘图时,就可能遇到这种情况:
Bitmap bufferimage = new Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(bufferimage);
g.Clear(this.BackColor);
//g.SmoothingMode = SmoothingMode.HighQuality; //高质量
//g.PixelOffsetMode = PixelOffsetMode.HighQuality; //高像素偏移质量
如上,如果不注释掉后面两行(我是全部注释掉了,也许只需注释掉其中一个就行),那么代码里指定的单像素宽度画笔在实际绘制时就会变成两像素宽。希望上述经验能帮助别人:)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货