| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3935 人关注过本帖
标题:panel 如何实现双缓冲区绘图
取消只看楼主 加入收藏
perfume
Rank: 1
等 级:新手上路
帖 子:51
专家分:7
注 册:2007-7-24
结帖率:25%
收藏
已结贴  问题点数:10 回复次数:3 
panel 如何实现双缓冲区绘图
panel 如何实现双缓冲区绘图
搜索更多相关主题的帖子: 缓冲区 
2011-01-18 10:24
perfume
Rank: 1
等 级:新手上路
帖 子:51
专家分:7
注 册:2007-7-24
收藏
得分:0 
简单说:
我想实现火焰切割的动态仿真。
首先根据加工零件绘制加工图形,然后根据返回数据动态仿真
如图

 2.JPG (19.27 KB)
 
 fangzhen.JPG (20.53 KB)
 


现在我是这么做的。
在定时器里panel1.refrsh();
private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.DrawImage(bmp, 20, 20);            
            p2.X = (int)((Parameter.GInfo.X - drawImage.xMin) * drawImage.ScaleFactor + 20);
            p2.Y = (int)(drawImage.Height - (Parameter.GInfo.Y - drawImage.yMin) * drawImage.ScaleFactor + 20);
            Graphics gg = Graphics.FromImage(bmpp);
            gg.DrawLine(drawPen, p1.X, p1.Y, p2.X, p2.Y);
            g.DrawEllipse(pennn, Convert.ToInt32(p2.X - 3), Convert.ToInt32(p2.Y - 3), 6, 6);
            g.FillEllipse(new SolidBrush(Color.Chartreuse), Convert.ToInt32(p2.X - 3),
                Convert.ToInt32(p2.Y - 3), 6, 6);            
            p1 = p2;
            g.DrawImage(bmpp, 0, 0);            
        }

这样会一直闪。
应该怎么做,详细点,别光说个双缓冲区完了。具体怎么实现,panel怎么不能setstyle.

2011-01-18 10:25
perfume
Rank: 1
等 级:新手上路
帖 子:51
专家分:7
注 册:2007-7-24
收藏
得分:0 
回复 3楼 yangglemu
原来如此,谢谢。

2011-01-18 14:53
perfume
Rank: 1
等 级:新手上路
帖 子:51
专家分:7
注 册:2007-7-24
收藏
得分:0 
回复 4楼 yangglemu
好像还有啊

2011-01-18 15:00
快速回复:panel 如何实现双缓冲区绘图
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024209 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved