!~~!画图程序出了问题了,大侠们帮帮忙!~~!

问题描述

//画笔参数Penpen=newPen(Color.Black,1);Colorcolor=Color.Black;floatwidth;//直线参数Pointstartpoint;Pointcurrentpoint;boolmousedown=false;//画图GraphicsPathgPath=newGraphicsPath();Graphicsgs;Bitmapbitmap;privatevoidForm1_Load(objectsender,EventArgse){bitmap=newBitmap(SystemInformation.PrimaryMonitorMaximizedWindowSize.Width,SystemInformation.PrimaryMonitorMaximizedWindowSize.Height);gs=Graphics.FromImage(bitmap);gs.Clear(Color.White);gs.Dispose();}privatevoidtrackBar1_ValueChanged(objectsender,EventArgse){width=trackBar1.Value;}privatevoidcolorPickerButton1_SelectedColorChanged(objectsender,EventArgse){color=colorPickerButton1.SelectedColor;}privatevoidpanel1_MouseDown(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Left){mousedown=true;pen=newPen(color,width);startpoint=newPoint(e.X,e.Y);}}privatevoidpanel1_MouseMove(objectsender,MouseEventArgse){if(mousedown&&e.Button==MouseButtons.Left){currentpoint=newPoint(e.X,e.Y);Graphicsgs=panel1.CreateGraphics();gs.DrawImage(bitmap,0,0);gs.DrawLine(pen,startpoint,currentpoint);gs.Dispose();}}privatevoidpanel1_MouseUp(objectsender,MouseEventArgse){if(mousedown){gPath.AddLine(startpoint,currentpoint);Graphicsgs=Graphics.FromImage(bitmap);gs.DrawPath(pen,gPath);}}privatevoidpanel1_Paint(objectsender,PaintEventArgse){e.Graphics.DrawImage(bitmap,0,0);}画到第三条先,自动连接第一条和第二条直线的;画第四条直线自动连接第二条和第一条直线的!~希望大侠帮帮忙,看看出了什么问题!

解决方案

解决方案二:
Pointlastpoint=Point.Empty;//<<<<<<addprivatevoidpanel1_MouseMove(objectsender,MouseEventArgse){if(mousedown&&e.Button==MouseButtons.Left){currentpoint=newPoint(e.X,e.Y);Graphicsgs=panel1.CreateGraphics();gs.DrawImage(bitmap,0,0);gs.DrawLine(pen,startpoint,currentpoint);if(lastpoint!=Point.Empty)//<<<<<<addgs.DrawLine(pen,startpoint,lastpoint);//<<<<<<addgs.Dispose();}}privatevoidpanel1_MouseUp(objectsender,MouseEventArgse){if(mousedown){lastpoint=currentpoint;//<<<<<<addgPath.AddLine(startpoint,currentpoint);Graphicsgs=Graphics.FromImage(bitmap);gs.DrawPath(pen,gPath);}}

时间: 2025-01-27 08:08:17

!~~!画图程序出了问题了,大侠们帮帮忙!~~!的相关文章

java-Java程序遇到一点小问题大侠来帮帮忙拜托了

问题描述 Java程序遇到一点小问题大侠来帮帮忙拜托了 我再书本上抄写了一段代码,运行后在Eclipse里面提示这个错误: Exception in thread "main" java.lang.NullPointerException at java.awt.Container.addImpl(Unknown Source) at java.awt.Container.add(Unknown Source) at javax.swing.JPopupMenu.add(Unknown

循环哪里出错了,逻辑错误查找,高手帮帮忙

问题描述 循环哪里出错了,逻辑错误查找,高手帮帮忙 #include int main() { int donation=0,amount=0; //donation代表每次捐献的金额,amout代表总额 while(amount<10) //捐款超过十万就不再接受捐献 { scanf("%dn",&donation); amount=amount+donation; } printf("%d",amount); return 0; } 为什么每次输入

mvc4-asp .net mvc项目加载非常慢,求大侠们帮帮忙啊!!!

问题描述 asp .net mvc项目加载非常慢,求大侠们帮帮忙啊!!! 项目运行时,点击超链接进入另一个视图或者action时页面加载就会非常慢,页面变成空白二三十秒才会加载出来,模板视图中代码也没什么问题,求大侠们帮帮忙!!哪里出了问题???

c++-设计一个简单的程序,有些不懂,希望大家帮帮忙

问题描述 设计一个简单的程序,有些不懂,希望大家帮帮忙 项目一:数据结构分析与实现.(线性表:实现循环曾链表的基本操作,就是插入,删除,合并)以报告形式写出 项目二实际问题的数据结构分析与实现.如图 编程软件:visualC++6.0 虽然我已编了一个,但觉得不好.可能力有限,希望帮忙.

c++-为什么这个程序不能正确运行? 求大家帮帮忙

问题描述 为什么这个程序不能正确运行? 求大家帮帮忙 #include<iostream> #include<string> #include<vector> #include<algorithm> #include"HasPtr.h" //#include"TreeNode.h" using namespace std; //13.27 30 31编写自己版本的使用引用计数的HasPtr int main(int a

flex LineChart组件的问题,哪位大侠知道帮帮忙..

问题描述 当LineChart组件的showDataTips为true的时候,鼠标靠到曲线的节点的时候会显示横轴和纵轴的值,横轴的值可以显示为字符串,为什么纵轴的值不能显示字符串而只能显示数字类型的呢,如果能的话我这样做:当我纵轴的实际值为任意一个数字比如95,我就用一个字符串如"excellent"来代替95显示,我该怎么做呢.. 哪位大侠知道帮帮忙啊..先谢谢了.. 解决方案 用 dataTipFunction="chartTip"来做 private func

指令-mysql莫名奇妙出问题了,求各位帮帮忙,急

问题描述 mysql莫名奇妙出问题了,求各位帮帮忙,急 一早起来发现明明用show tables指令都还存在的table,查询时却提示doesnt exist, 之后我到data目录下把相关的文件都删了,重新建该table却又显示table already exists, 真是灵异事件了. 解决方案 你的外键关系好像写错了吧 constraint userId_FK foreigin key(userId) references user(id) 解决方案二: 你的数据库类型是什么?Innodb

java eclipse-java程序功能设计分析和程序基本组成框架结构 大神们帮帮忙

问题描述 java程序功能设计分析和程序基本组成框架结构 大神们帮帮忙 package com.mingrisoft.ballot; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEven

大侠们帮帮忙啊,C#程序在win7上和winserver2008R2上跑的差异性!

问题描述 在MSDN上看了一个IOCP的例子,想拿来实验跑跑看,在win7不管32位还是64位机上都没问题,然后再winserver2008R2上就不一样了!首先下面是tcp收到数据时将接收发送缓冲buffer中的index移位internalvoidSetData(SocketAsyncEventArgsargs,Sockets){Int32count=args.BytesTransferred;IPEndPointclientip=(IPEndPoint)s.RemoteEndPoint;/