WPF —— GDI画板
定义绘制对象
Graphics g;
起始点坐标
Point start;
画笔颜色
Color c1 = Color.Black;
是否开始绘制 当flag==true开始绘制,结束绘
private void Form1_MouseDown(object sender, MouseEventArgs e)
{if (e.Button == MouseButtons.Left) //点击了鼠标左键{start = e.Location ; //当前点击的坐标flag = true;}
}
制的时候只需要flag=false,
//在事件函数当中先判断flag 为true或者false,然后在做处理。
bool flag = false;
鼠标按下的方法:主要是获取按下时候的坐标也就是起始点坐标
private void Form1_MouseDown(object sender, MouseEventArgs e)
{if (e.Button == MouseButtons.Left) //点击了鼠标左键{start = e.Location ; //当前点击的坐标flag = true;}
}
鼠标移动的时候获取结束点,获取绘制的结束点,并且划线
private void Form1_MouseMove(object sender, MouseEventArgs e)
{if (flag == false) return;g.DrawLine(new Pen(c1, 2), start, e.Location);start = e.Location ; //重置起始点
}
结束绘制
private void Form1_MouseUp(object sender, MouseEventArgs e)
{flag = false;
}
相关文章:
WPF —— GDI画板
定义绘制对象 Graphics g; 起始点坐标 Point start; 画笔颜色 Color c1 Color.Black; 是否开始绘制 当flagtrue开始绘制,结束绘 private void Form1_MouseDown(object sender, MouseEventArgs e) {if (e.Button MouseButtons.Left) //点击了鼠标左键{start …...
C++:基于范围的for循环
使用迭代器遍历容器在遍历的过程中需要给出容器的两端:开头(begin)和结尾(end),因为这种遍历方式不是基于范围来设计的。在基于范围的for循环中,不需要再传递容器的两端,循环会自动以…...
引领智能互联时代,紫光展锐赋能百业创新发展
随着5G技术的快速发展,各行各业对通信技术的需求也在不断升级。紫光展锐持续深耕5G垂直行业,不断推进5G标准演进,从R15到R16,再到R17,展锐携手生态合作伙伴,不断推出创新性解决方案,在5G RedCap…...
lv_micropython to download and building
想要在ESP32-C3使用Micropython开发GUI,所以需要编译lv_micropython,当前github上的版本是9.1.0。 一、开发环境 因为编译lv_micropython需要在linux系统下,但是我的电脑是windows系统,所以我在windows系统上安装了VMware虚拟机&…...
二叉树练习day.9
669.修剪二叉搜索树 链接:. - 力扣(LeetCode) 题目描述: 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变…...
2024年第十七届“认证杯”数学中国数学建模网络挑战赛B题思路
B题 神经外科手术的定位与导航 人的大脑结构非常复杂,内部交织密布着神经和血管,所以在大脑内做手术具有非常高的精细和复杂程度。例如神经外科的肿瘤切除手术或血肿清除手术,通常需要将颅骨打开一个(或几个)圆形窗口,将病变部位暴露在术野中。但当病变部位较深时,就必…...
【vue】slot 匿名插槽 / 具名插槽
slot父组件向子组件传递数据 匿名插槽–直接写 具名插槽–指定名称 父组件中 子组件中: 代码 App.vue <template><h2>App.vue</h2><!-- 匿名插槽 --><Header><a href"1234567890.com">1234567890</a>&…...
FFmpeg: 自实现ijkplayer播放器-02环境搭建
文章目录 安装环境项目工程配置库文件 安装环境 IDE: Qt5.12 库: ffmpeg-4.2.1-win32SDL 项目工程配置 pro文件 TEMPLATE app TARGET SimpleIJKPlayer DESTDIR bin QT core gui widgets #CONFIG debug #DEFINES _UNICODE WIN64 QT_WIDGETS_LIBwin32 { LIBS -L$$PW…...
Redis从入门到精通(十七)多级缓存(二)Lua语言入门、OpenResty集群的安装与使用
文章目录 前言6.4 Lua语法入门6.4.1 初识Lua6.4.2 Hello World6.4.3 变量6.4.3.1 Lua的数据类型6.4.3.2 声明变量 6.4.4 循环6.4.5 函数6.4.6 条件控制 6.5 实现多级缓存6.5.1 安装和启动OpenResty6.5.2 实现ajax请求反向代理至OpenResty集群6.5.2.1 反向代理配置6.5.2.2 OpenR…...
pytest常用钩子函数
1、什么叫钩子函数 在Pytest框架中,钩子函数是一种允许用户扩展或者自定义测试执行过程的机制。钩子函数允许用户在测试的不同阶段插入自定义的代码,以实现特定的行为,操作或处理。这种插入式的机制使得Pytest具有高度的灵活性和扩展性。 如…...
.Net <% %>
<% %> 语法 : <% import namespace"system.data"%> 用来导入后台命名空间 指令用于指定当页和用户控件编译器处理 ASP.NET Web 窗体页 (.aspx) 和用户控件 (.ascx) 文件时所使用的设置。<% %> 语法 : <% name %> <% getstr() %&g…...
【C语言__编译和链接__复习篇2】
目录 前言 一、翻译环境和运行环境 二、翻译环境 2.1 预处理 2.1 编译 2.1.1 词法分析 2.1.2 语法分析 2.1.3 语义分析 2.2 汇编 2.3 链接 三、运行环境 四、简答主线问题 前言 本篇主要讨论以下问题: 主线问题: 1. 源文件(.c)如何转换成(.exe)文件…...
Jmeter —— 自动录制脚本
1、Jmeter配置 1.1新增一个线程组 1.2Jmeter中添加HTTP代理 1.3配置HTTP代理服务器 修改端口 修改Target Cintroller(目标控制器) 修改Grouping(分组) 编辑录制中的包含和排除 在“URL Patterns to include包含模式”中填入.*(123456).*用以过滤请求地址中不包含123456的请求…...
使用python互相转换AVI、MP4、GIF格式视频文件
一、AVI文件转MP4文件 要将AVI格式的视频转换为 MP4,你可以使用 Python的 moviepy 库。以下是一个示例代码,用于将 AVI 文件转换为 MP4 文件: from moviepy.editor import VideoFileClip# 读取 AVI 文件 clip VideoFileClip("input.a…...
11 Php学习:函数
PHP 内建函数Array 函数 PHP Array 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。 创建 PHP 函数 当您需要在 PHP 中封装一段可重复使用的代码块时,可以使用函数。下面详细解释如何创建 PHP 函数并举例说明。 创建 PHP 函数的语法 PHP 函数的基…...
查询电脑用户名和组信息
在命令行里查看电脑名: c:\>hostname 在命令行里,查看组信息: # 显示本地所有的用户组 c:\>net localgroup #显示administrators组包含的用户信息 c:\>net localgroup administrators # 比如我的显示信息: C:\>ne…...
【Godot4.2】CanvasItem绘图函数全解析 - 9.绘制表格
概述 之前介绍TextLine和TextParagraph的时候,提到了用制表符和设定列宽形式来绘制简易表格,但是很明显,单纯使用此种方式很难获得对表格的精确控制。 所以对于表格绘制问题,我决定单独开坑,单独深入研究。 目前比较…...
部署HDFS集群(完全分布式模式、hadoop用户控制集群、hadoop-3.3.4+安装包)
目录 前置 一、上传&解压 (一 )上传 (二)解压 二、修改配置文件 (一)配置workers文件 (二)配置hadoop-env.sh文件 (三)配置core-site.xml文件 &…...
TCP协议简单总结
TCP:传输控制协议 特点:面向连接、可靠通信 TCP的最终目的:要保证在不可靠的信道上实现可靠的传输 TCP主要有三个步骤实现可靠传输:三次握手建立连接,传输数据进行确认,四次挥手断开连接 三次握手建立可靠…...
【Qt 实现录音】
Qt 实现录音源代码: #include <QAudioInput> #include <QAudioDeviceInfo> #include <QAudioRecorder> #include <QFile> #include...
Flowable 6.3.0 从安装到实战:手把手教你搭建第一个BPMN流程(附MySQL 8.0避坑指南)
Flowable 6.3.0实战指南:从零构建企业级流程引擎 当企业业务流程复杂度超过CRUD范畴时,一套可靠的流程引擎就成为技术架构中的关键基础设施。作为Activiti原班团队打造的新一代开源BPM引擎,Flowable 6.3.0在保持轻量级特性的同时,…...
从协方差到相关系数:Python实战解析数据关联性
1. 协方差:理解变量间的协同变化 第一次接触协方差这个概念时,我盯着公式看了半天也没明白它到底在说什么。直到有一天我在超市看到薯片和可乐的促销数据,才突然开窍——原来协方差就是在告诉我们两个变量是如何一起变化的。 协方差的数学定义…...
Gatling性能测试结果版本控制终极指南:追踪与对比性能指标的最佳实践
Gatling性能测试结果版本控制终极指南:追踪与对比性能指标的最佳实践 【免费下载链接】gatling Modern Load Testing as Code 项目地址: https://gitcode.com/gh_mirrors/ga/gatling Gatling是一款现代化的负载测试工具,采用代码即测试的理念&…...
Hunyuan-MT-7B快速入门:无需代码,用浏览器就能翻译33种语言
Hunyuan-MT-7B快速入门:无需代码,用浏览器就能翻译33种语言 1. 为什么选择Hunyuan-MT-7B翻译模型 在全球化协作日益紧密的今天,语言障碍仍然是许多企业和个人面临的现实挑战。传统翻译工具要么功能有限,要么需要复杂的编程接口&…...
RWKV7-1.5B-g1a入门必看:轻量中文问答/文案续写/摘要生成快速上手指南
RWKV7-1.5B-g1a入门必看:轻量中文问答/文案续写/摘要生成快速上手指南 1. 模型简介 RWKV7-1.5B-g1a是一个基于RWKV-7架构的多语言文本生成模型,特别适合中文场景下的基础问答、文案续写、简短总结和轻量对话任务。这个1.5B参数的版本在保持良好生成质量…...
Apache Weex UI手势操作组件:滑动删除与拖拽交互终极指南
Apache Weex UI手势操作组件:滑动删除与拖拽交互终极指南 Apache Weex UI 是一个基于 Vue.js 的跨平台 UI 框架,专门用于构建高性能移动应用。其中,手势操作组件是提升用户体验的关键功能,让应用交互更加自然流畅。😊 …...
信息安全保障模型
信息安全保障模型是指导组织构建安全体系的理论框架。信息安全领域发展出了多个经典且广泛应用的安全模型。这些模型从不同维度阐述了如何实现“保护信息资产的机密性、完整性和可用性(CIA)”的目标。1. P2DR / PPDR 模型全称:Policy, Protec…...
解锁Unity游戏扩展:BepInEx插件框架的5个核心应用步骤
解锁Unity游戏扩展:BepInEx插件框架的5个核心应用步骤 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx作为Unity游戏的插件框架,为玩家和开发者提供…...
py2exe终极指南:将Python脚本快速打包为独立Windows程序
py2exe终极指南:将Python脚本快速打包为独立Windows程序 【免费下载链接】py2exe Create standalone Windows programs from Python code 项目地址: https://gitcode.com/gh_mirrors/py/py2exe 你是否曾为Python程序部署而烦恼?想让你的Python脚本…...
一站式云存储整合:NetMount 2024实战指南
一站式云存储整合:NetMount 2024实战指南 【免费下载链接】NetMount 统一管理和挂载云存储设施/Unified management and mounting of cloud storage facilities 项目地址: https://gitcode.com/gh_mirrors/ne/NetMount 在当今多云环境下,企业和个…...
