| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 931 人关注过本帖
标题:请问我的程序怎么增加连续线功能
只看楼主 加入收藏
shing110
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-4-27
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:7 
请问我的程序怎么增加连续线功能
WindowsFormsApplication1.zip (60.88 KB)


求救。。。。11

[ 本帖最后由 shing110 于 2014-4-27 12:45 编辑 ]
2014-04-27 12:41
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
收藏
得分:20 
WindowsFormsApplication1.rar (212.82 KB)

图片附件: 游客没有浏览图片的权限,请 登录注册

这个意思?

站在春哥的肩膀上
2014-04-28 09:46
shing110
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-4-27
收藏
得分:0 
回复 2 楼 xydddaxia
是的,但是好像有问题耶~,如果选择连续线,对应的画线的类型和填充类型  失效了

[ 本帖最后由 shing110 于 2014-4-28 13:32 编辑 ]
2014-04-28 13:04
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
收藏
得分:0 
回复 3 楼 shing110
嗯,没有加填充效果,自己弄下嘛,前面你都写过了

站在春哥的肩膀上
2014-04-28 17:28
shing110
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-4-27
收藏
得分:0 
回复 4 楼 xydddaxia
弄成这样了,怎么样在case "lianxu"  加代码判断画笔类型和填充的类型呢


WindowsFormsApplication1.zip (64.36 KB)


[ 本帖最后由 shing110 于 2014-4-28 21:43 编辑 ]
2014-04-28 19:54
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
收藏
得分:0 
123.rar (283.73 KB)

站在春哥的肩膀上
2014-04-29 08:51
shing110
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-4-27
收藏
得分:0 
回复 6 楼 xydddaxia
private void cut_Click(object sender, EventArgs e)   //剪切功能
        {

            Clipboard.SetDataObject(pictureBox1.Image, true);
            pictureBox1.Image = null;

        }


        private void Paste_Click(object sender, EventArgs e)   //粘贴功能
        {
            //从剪贴板获取数据
            IDataObject idata = Clipboard.GetDataObject();
            //判断数据类型
            if (idata.GetDataPresent(DataFormats.Bitmap))
                //图像显示到图像框中
                pictureBox1.Image =
                    (Bitmap)idata.GetData(DataFormats.Bitmap);

        }

我增加了一个剪切和黏贴功能,为啥不行呢。。。没效果
2014-04-30 16:41
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
收藏
得分:0 
回复 7 楼 shing110
因为你是在控件上直接绘图,要是控件自身触发了重绘事件的话,控件看上去就还原了,控件怎么显示是由控件决定的,窗口最小化后还原,其他窗口遮挡后又移开等等,控件都会重绘,重绘的时候不会执行那些后来附加上去的画的那些,除非重写控件的OnPaint方法。
解决办法就是在PictureBox的Image对象上画图,而不是在PictureBox上画图

Drawshape(pictureBox1.CreateGraphics(),pStart, pEnd, brushmode, Mypen, dmode);

改成

if (this.pictureBox1.Image == null)
{
   Bitmap bmp = new Bitmap(this.pictureBox1.Width,this.pictureBox1.Height);
   this.pictureBox1.Image = bmp;
}
Drawshape(Graphics.FromImage(this.pictureBox1.Image), pStart, pEnd, brushmode, Mypen, dmode);

[ 本帖最后由 xydddaxia 于 2014-5-5 09:16 编辑 ]

站在春哥的肩膀上
2014-05-05 09:15
快速回复:请问我的程序怎么增加连续线功能
数据加载中...
 
   



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

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