首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

C# GDI+绘图 为啥会有重影

2013-01-11 
C# GDI+绘图 为什么会有重影?private void button1_Click(object sender, EventArgs e) {int height 400

C# GDI+绘图 为什么会有重影?
private void button1_Click(object sender, EventArgs e)
 {
            int height = 400, width = 600;
            Bitmap image = new Bitmap(height, width);
            Graphics g = Graphics.FromImage(image);//创建一个对象
            g.Clear(Color.White);
            Pen mypen = new Pen(new SolidBrush(Color.Blue), 1);
            g.DrawLine(mypen, 100, 80, 100, 340);
            this.panel1.BackgroundImage = image;
}

就是上面这样一段简单的代码,预期是画出一条竖线,可是它却出现了两条,第一次尝试GDI+,求解

[解决办法]
设置panel1的backgroundimagelayout属性,如果是tile,图像会平铺,看上去像两条。
[解决办法]


可以考虑采用“双缓存”技术:


        private void button1_Click(object sender, EventArgs e)
        {
            //int height = 400, width = 600;
            //Bitmap image = new Bitmap(height, width);
            Bitmap image = new Bitmap(DisplayRectangle.Width, DisplayRectangle.Height);

            using (Graphics g = Graphics.FromImage(image))
            {
                g.Clear(Color.White);
                Pen mypen = new Pen(new SolidBrush(Color.Blue), 1);
                g.DrawLine(mypen, 100, 80, 100, 340);
            }

            this.panel1.BackgroundImage = image;

        }

热点排行