WPF —— GDI画板

定义绘制对象

cs 复制代码
Graphics g;

起始点坐标

cs 复制代码
Point start;

画笔颜色

cs 复制代码
Color c1 = Color.Black;

是否开始绘制 当flag==true开始绘制,结束绘

cs 复制代码
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left) //点击了鼠标左键
    {
          start = e.Location ; //当前点击的坐标
          flag = true;
    }
}

制的时候只需要flag=false,

//在事件函数当中先判断flag 为true或者false,然后在做处理。

cs 复制代码
bool flag = false;

鼠标按下的方法:主要是获取按下时候的坐标也就是起始点坐标

cs 复制代码
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left) //点击了鼠标左键
    {
          start = e.Location ; //当前点击的坐标
          flag = true;
    }
}

鼠标移动的时候获取结束点,获取绘制的结束点,并且划线

cs 复制代码
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
    if (flag == false) return;
    g.DrawLine(new Pen(c1, 2), start, e.Location);
    start = e.Location ; //重置起始点
}

结束绘制

cs 复制代码
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
    flag = false;
}
相关推荐
264玫瑰资源库1 小时前
问道数码兽 怀旧剧情回合手游源码搭建教程(反查重优化版)
java·开发语言·前端·游戏
普if加的帕1 小时前
java Springboot使用扣子Coze实现实时音频对话智能客服
java·开发语言·人工智能·spring boot·实时音视频·智能客服
安冬的码畜日常2 小时前
【AI 加持下的 Python 编程实战 2_10】DIY 拓展:从扫雷小游戏开发再探问题分解与 AI 代码调试能力(中)
开发语言·前端·人工智能·ai·扫雷游戏·ai辅助编程·辅助编程
朝阳5812 小时前
Rust项目GPG签名配置指南
开发语言·后端·rust
朝阳5812 小时前
Rust实现高性能目录扫描工具ll的技术解析
开发语言·后端·rust
程高兴2 小时前
基于Matlab的车牌识别系统
开发语言·matlab
牛马baby3 小时前
Java高频面试之并发编程-07
java·开发语言·面试
CodeWithMe3 小时前
【C++】STL之deque
开发语言·c++
炯哈哈3 小时前
【上位机——MFC】运行时类信息机制
开发语言·c++·mfc·上位机
T.Ree.5 小时前
【数据结构】_树和二叉树
c语言·开发语言·数据结构