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;
}
相关推荐
l156469486 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
charlie1145141917 小时前
现代C++工程实践 WeakPtr 实战(三):WeakPtrFactory 与「最后成员」惯用法
开发语言·c++·开源项目·现代c++
吴可可1237 小时前
C#用OpenCVSharp提取轮廓生成CAD多段线
c#
IT小盘8 小时前
04-大模型流式输出原理-SSE与Python实现
开发语言·网络·人工智能·python
不如语冰8 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
阿童木写作9 小时前
Python批量翻译亚马逊商品图实战教程
开发语言·python·xcode
会飞的大鱼人10 小时前
一文搞懂 Java HashSet:把它想成游乐园里只允许一次入场的盖章名单
java·开发语言·windows
jiay211 小时前
【.net10】顶级程序语句
java·开发语言
玖玥拾11 小时前
Unity 3D 笔记(十四)Unity/C# Socket 网络笔记3
服务器·网络·unity·c#
淼澄研学11 小时前
Python进阶实战:深入解析推导式与生成器等5大核心特性
开发语言·python