CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

C#用鼠标画的线应该怎么保存

楼主Smiletozxj()2006-12-03 00:18:26 在 .NET技术 / C# 提问

public   partial   class   Draw   :   Form  
          {  
                  Graphics   myGraphics;  
                  int   x;  
                  int   y;  
                  int   oldX;  
                  int   oldY;  
                  Pen   myPen;  
                  bool   ifDrwa;  
                  Stack<Point>   pointStack;//用来保存所有鼠标画过的点,在重绘时候画  
                  public   Draw()  
                  {  
                        ifDrwa   =   false;//设置为不画  
                        myGraphics   =   this.CreateGraphics();  
                         
                        myPen=new   Pen(Color.Black);  
                        InitializeComponent();  
                        this.SetDesktopLocation(0,   0);  
                        pointStack   =   new   Stack<Point>();  
                  //       this.Size.Width   =   768;  
                  //       this.Size.Height   =   1024;  
                  }  
   
                  private   void   Draw_MouseDown(object   sender,   MouseEventArgs   e)  
                  {  
                          ifDrwa   =   true;//鼠标按下时候才开始画  
                          oldX   =   e.X;  
                          oldY   =   e.Y;  
                  }  
   
                  private   void   Draw_MouseMove(object   sender,   MouseEventArgs   e)  
                  {  
                         
                          if   (ifDrwa   ==   true)  
                          {    
                                  //将鼠标划过的地方全部入栈  
                            Point   tempPoint   =   new   Point(this.oldX,   this.oldY);  
                            pointStack.Push(tempPoint);//鼠标不停的滑动,就不停的入栈  
                            myGraphics.DrawLine(myPen,   oldX,   oldY,   e.X,   e.Y);  
                            //画完后,将当前的鼠标位置记下  
                            oldX   =   e.X;  
                            oldY   =   e.Y;  
                          }  
                  }  
   
                  private   void   Draw_MouseUp(object   sender,   MouseEventArgs   e)  
                  {  
                          //若鼠标建起,则停止画  
                          ifDrwa   =   false;  
                  }  
                  画线可以实现,但是重绘时候就没了,希望知道怎么保存先前画的线 问题点数:20、回复次数:6Top

1 楼liujia_0421(SnowLover)回复于 2006-12-03 01:07:23 得分 10

TO:  
    画线可以实现,但是重绘时候就没了,希望知道怎么保存先前画的线  
   
  保存起点和终点的坐标不就行了..Top

2 楼zhaochong12(超级大笨鸟)回复于 2006-12-03 08:09:48 得分 0

--#...   用arraylist保存之前画过的座标点Top

3 楼Smiletozxj()回复于 2006-12-03 10:13:19 得分 0

你们也看到我的程序了,我上面用栈来保存的。但是不光是保存“上次”的的点,而且还要保存“上上次”和“上上...次”的点,这个时候该怎么办呢?  
  Top

4 楼bjgzxx(食人一族)回复于 2006-12-03 10:19:26 得分 10

zhaochong12(笨鸟)   完全正确Top

5 楼pfworld(菜菜来了)回复于 2006-12-03 14:20:11 得分 0

zhaochong12(笨鸟)   完全正确  
  或者放入一个纪录文件!xxx.txtTop

6 楼jl_7777()回复于 2006-12-03 22:20:51 得分 0

Bitmap   b=new   Bitmap(this.Width,this.Height);  
  Graphics   g2=Graphics.FromImage(b);  
   
  然后画的时候同时在g2里画,完了再保存b就是了Top

相关问题

关键词

得分解答快速导航

  • 帖主:Smiletozxj
  • liujia_0421
  • bjgzxx

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo