LabVIEWwilliam hill官网
登录
直播中
荣琪
8年用户
689经验值
擅长:可编程逻辑 测量仪表 嵌入式技术
私信
关注
[文章]
荣小菜补钙记第59期_LabVIEW之二维图片拖拽与缩放 Demo
LabVIEW
荣小菜补钙记第59期_
labview
之二维图片拖拽与缩放
同步更新于 WeChat:荣小菜在补钙
大家好,我是荣小菜,本期用一个小Demo讲解在二维图片控件中实现图片拖拽的缩放。
1.
缩放功能
实现二维图片缩放功能通过设置图片控件的“缩放因子”属性实现,通过触发鼠标滑轮事件,上滚时Delta值为1,下滚时Delta值为-1,每次滚动缩放因子变化|0.1|,设置缩放因子上限为10(放大10倍),下限为0.1(缩小10倍)。
滑轮动作
2.
拖拽功能
拖拽主要由鼠标按下,鼠标移动,鼠标释放3个动作实现。
先看
鼠标按下
,鼠标按下后进入可拖拽状态,并通过当前原点坐标和鼠标坐标计算两者相对坐标,“相对位置”后续将继续使用。
注意1:原点坐标为图片左上角坐标。
注意2:本Demo实现两种拖拽方式,可选择是否反转。
鼠标按下
实现图片移动的关键是根据鼠标移动修改图片原点位置
鼠标移动
时,使用“当前鼠标坐标”与上一步骤中计算出的“相对位置”即可算得图片“原点坐标”。
实现反转拖拽,则将减数和被减数位置互换即可。
鼠标移动
完成拖拽后,
鼠标释放
,此时程序进入“不可拖拽”状态,鼠标移动事件可以被触发,但不执行相关逻辑。当然,比起这种使用布尔状态量的方法,我们也可以通过动态注册、注销事件的方式实现,详见LabVIEW自带范例“动态事件生成”。
鼠标释放
3.
复用性
稍微做一些
复用性
的设计,这里简单设计三个可重用Vi,分别为“INIT”、“CORE”和“STOP”,用户想要让某图片控件具备缩放和拖拽功能,只需使用这3个函数即可(见
MAIN函数
)。需要注意的是,每用一个INIT函数和CORE函数,必须使用一个STOP函数来停止。下面进行详细讲解。
MAIN程序框图
先看
“INIT”函数
,关键点为通过控件引用注册系列动态事件,每次调用该函数即可为不同控件注册相关功能事件;另一关键点为注册STOP用户事件,我们可以通过触发该事件来停止CORE中的循环(该设计在操作者框架中十分常用)。
INIT后面板
调用INIT后必须接着调用
CORE函数
,该函数主要功能在第1、2节中已经讲解,此处重点是实现动态事件的逻辑流程和响应STOP用户事件的停止流程。当STOP用户事件触发时,销毁注册的动态事件和用户事件。
CORE后面板
最后看
STOP函数
,简单但关键,必须调用,产生STOP用户事件,是程序顺利停止的关键。
STOP后面板
4.
Demo演示
下面进行Demo演示,缩放、正向拖拽、反向拖拽。
Demo
本期就到此结束啦,测试Demo已上传,感兴趣的同学可以看看,也期望各位大神能帮忙前来指教,进一步分享更多更有趣的程序。
分享开源免费,共同学习进步^_^
回帖
(2)
雀巢燕麦
2023-5-22 08:49:18
不知上传的DEMO源码在哪儿呢?
不知上传的DEMO源码在哪儿呢?
1
举报
荣琪:
不知道为什么我这边没有上传附件的选项了,目前只能用网盘发Demo,微信公众号有同步更新的文章,里面有链接。
荣琪
2023-5-26 22:08:53
不知道为什么我这边没有上传附件的选项了,目前只能用网盘发Demo,微信公众号有同步更新的文章,里面有链接。
不知道为什么我这边没有上传附件的选项了,目前只能用网盘发Demo,微信公众号有同步更新的文章,里面有链接。
举报
更多回帖
rotate(-90deg);
回复
相关帖子
LabVIEW
荣
小菜
补钙
记
第
59
期
_
LabVIEW
之二维
图片
拖拽
与
缩放
4247
荣
小菜
补钙
记
第
60
期
_
LabVIEW
之调用user32实现键鼠控制
929
荣
小菜
补钙
记
第
23
期
:
LabVIEW
之表格操作2
7692
荣
小菜
补钙
记
第
5
期
:基于
LabVIEW
OOP的仪表控制库(3)
5130
荣
小菜
补钙
记
第
5
期
:基于
LabVIEW
OOP的仪表控制库(2)
6533
荣
小菜
补钙
记
第
4
期
:基于
LabVIEW
OOP的仪表控制库(1)
6538
荣
小菜
补钙
记
第
61
期
_
LabVIEW
之递归文件及文件夹
1612
荣
小菜
补钙
记
第
35
期
:基于
LabVIEW
Actor Framework的连续测量和记录系统3
7026
荣
小菜
补钙
记
第
32
期
:
LabVIEW
之如何实现应用程序最小化托盘
7303
荣
小菜
补钙
记
第
11
期
:基于
LabVIEW
OOP的仪表控制库(8)
3830
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分