利用鼠标绘图

实现效果:

  

知识运用:

  Graphics类的DrawLine方法和MouseEventArgs类的x,y属性

实现代码:

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (lastPoint.Equals(Point.Empty))                      //判断绘图开始点是否为空
            {
                lastPoint = new Point(e.X,e.Y);                     //记录鼠标当前位置
            }
            if (onMouseDown)                                        //开始绘图
            {
                graphics = this.CreateGraphics();
                Point currPoint = new Point(e.X, e.Y);              //获取鼠标当前位置
                graphics.DrawLine(new Pen (Color.Black),lastPoint,currPoint);   //绘图
            }
            lastPoint = new Point(e.X,e.Y);                         //更新绘图点
        }

        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            onMouseDown = true;                                     //开始绘图标识设为true;
        }

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            onMouseDown = false;                                    //开始绘图标识设为false;
        }

  

原文地址:https://www.cnblogs.com/feiyucha/p/10289259.html

时间: 2024-08-10 01:16:45

利用鼠标绘图的相关文章

python+opencv选出视频中一帧再利用鼠标回调实现图像上画矩形框

最近因为要实现模板匹配,需要在视频中选中一个目标,然后框出(即作为模板),对其利用模板匹配的方法进行检测.于是需要首先选出视频中的一帧,但是在利用摄像头读视频的过程中我唯一能想到的方法就是: 1.在视频播放的过程中,当想选中哪幅图来标记目标时,按下暂停键. 2.框出你想要检测的目标. 那要怎么实现呢? 首先是暂停怎么实现呢?介于是摄像头直播,我们先将那副图像复制并在另一个窗口显示.然后关掉摄像头,就完成了暂停.后面标记完目标再打开摄像头就行了.那具体怎么实现呢... import cv2 dra

利用鼠标点击绘制出三棱锥

作者:feiquan 出处:http://www.cnblogs.com/feiquan/ 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 大家写文都不容易,请尊重劳动成果~ 这里谢谢大家啦(*/ω\*) 大家可以先看下我的上一篇文章:对于单个模型(长方体为例)进行面投影时的消隐           http://www.cnblogs.com/feiquan/p/8213875.html 这两篇有相

opengl编程 : 利用鼠标的位置跟踪一条在世界坐标系中的射线

如何用鼠标与三维世界的物体交互呢? 想了一种方法:将鼠标在二维屏幕的位置转化为三维世界坐标系的位置,记该位置为pm(mouse position).我们在窗口中看到的内容都是基于观察坐标系的, 鼠标的位置可以看作是观察坐标系中,投影可见体的前平面中的一个位置,如何找到这样的一个位置呢? 可以肯定,pm·.z的值就是近平面的值,这点是没有疑问的,因为pm·就在近平面上. 我们假定投影平面和窗口有相同的宽高比,这些不会有失真出现. 接下来找pm·.x和pm·.y 1.将屏幕 0 - window_h

利用PHP绘图函数实现简单验证码功能

index.php __________________________________________________________________________________________________________________________ <?php//===================================>>使用绘图技术绘制验证码 //1.随机产生4个随机数$checkCode="";for ($i=0;$i<4;$i

java程序实现鼠标绘图

1 import java.awt.*; 2 3 import javax.swing.*; 4 class Gstudy extends JFrame{ 5 6 private int x1,y1,x2,y2; 7 private newPanel panel=new newPanel(); 8 private JButton btn=new JButton("清除"); 9 public Gstudy() 10 { 11 setTitle("交互式绘图"); 1

鼠标绘图

1 // TestGDI.cpp : 定义应用程序的入口点. 2 // 3 4 #include "stdafx.h" 5 #include "TestGDI.h" 6 7 #define MAX_LOADSTRING 100 8 9 // 全局变量: 10 HINSTANCE hInst; // 当前实例 11 TCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本 12 TCHAR szWindowClass[MAX_LOADSTRING

PaintCode 鼠标绘图转CGPath代码

UIBezierPath绘制复杂图形计算坐标很复杂. PaintCode这款App可以用用鼠标绘制,然后将绘制转化为CGPath的Swift代码. 这款软件可以在它的官网购买下载:https://www.paintcodeapp.com,个人版99美元,可以免费试用5天. 原文地址:https://www.cnblogs.com/liuyongfa/p/10496356.html

canvas 鼠标绘图

项目要求在视频上绘制多边形区域 单单描出鼠标轨迹很简单,lineTo 配合鼠标事件大概十几行代码就搞定 画直线的话原来是要在 mousemove 里清空画布,鼠标移动时都在不断地清空画布再重新根据起点终点来绘制 如此"曲折"才得到了一条直线,因为不断地 clearRect,所以要画多条直线就要记录以前画过的直线,试过用数组来记录,但感觉极其麻烦没有可行性 看了 创建一个HTML5 Canvas绘画应用程序 后才恍然大悟,原来要用到两张画布,一张用于临时绘制,一张用于记录,每在临时画布上

JAVA做一个可以鼠标绘图、键盘写字的画板

工具:eclipse 语言:java 成果: 源代码: import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.aw