社区
图形处理/算法
帖子详情
怎样实现以鼠标为中心的缩放?
yjukh
2009-12-17 02:37:43
要做一个图形的软件,怎样做到像AutoCAD那样,鼠标放到哪儿就以那个点为中心的放大。
我已经研究了几天CZoomView的例子,并尝试着修改,但一直没有成功,滚动条的计算始终不对。
哪位有比较好的例子或方法?
谢谢!
...全文
938
9
打赏
收藏
怎样实现以鼠标为中心的缩放?
要做一个图形的软件,怎样做到像AutoCAD那样,鼠标放到哪儿就以那个点为中心的放大。 我已经研究了几天CZoomView的例子,并尝试着修改,但一直没有成功,滚动条的计算始终不对。 哪位有比较好的例子或方法? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hu15994261234
2010-09-28
打赏
举报
回复
我艹,函数都不给一个,搞毛。。。
PageLee
2009-12-22
打赏
举报
回复
直接用CView,既然用鼠标放大、缩小、漫游,就不用CScrollView,因为视图的可见部分就那么多,然后得到鼠标按下点的位置P1和放开的位置P2,以按下位置P1为中心,P1和P2的距离乘以一个值为放大倍数,重新组织视图的显示。
daredjever
2009-12-22
打赏
举报
回复
这个问题在我建立坐标系的时候做过类似的工作
首先你的图形的放大缩小肯定也有拖动吧?
就是移动你的图片
然后你先实现以屏幕或者你的图片中心为中心点旋转。既然你问怎么以鼠标点为中心旋转,我就默认你能以屏幕中心点为中心旋转了。
然后计算你鼠标当前的坐标与屏幕中心的距离,用这个距离移动图片,使你的鼠标的点移动到屏幕中心,再进行放大缩小计算。
最后再把你的鼠标移动到原来的位置。
不知道这么说你明白了不、
寒韩Glory
2009-12-18
打赏
举报
回复
就是个坐标转换,想清楚了很简单,以前做过,一个经验提供给你,显示视不要从CScrollView派生,那个滚动条不好控制的,要从CView派生,然后自己控制滚动条。
tiantangxingkong
2009-12-17
打赏
举报
回复
就是相应的计算缩放后和缩放前鼠标所在的相对位置的差异,然后将缩放后界面调整到合适的位置,重置滚动条的位置.
想法估计就是这么个想法.
yjukh
2009-12-17
打赏
举报
回复
[Quote=引用 3 楼 laviewpbt 的回复:]
这个问题我知道,先看看CSDN里的大神会给出什么样的答案在说。
[/Quote]
老大,不要吊胃口好不好~
laviewpbt
2009-12-17
打赏
举报
回复
这个问题我知道,先看看CSDN里的大神会给出什么样的答案在说。
用户 昵称
2009-12-17
打赏
举报
回复
在纸上画画,既然以鼠标为中心,首先得计算出鼠标相对于图形的位置,然后将图形缩放,再计算出鼠标相对于图形的新位置,新旧位置必然有差异,弥补这差异就差不多了。
fandh
2009-12-17
打赏
举报
回复
这基本上是你放大缩小的算法不准!滚动条只要getscrollpos就能得到!
史上最简单
实现
QPainter以
鼠标
为
中心
缩放
史上最简单
实现
QPainter以
鼠标
为
中心
缩放
。拿走不谢
QT下
实现
图片的自适应显示、
缩放
(以
鼠标
位置为
中心
进行
缩放
)、拖动、以及重置并截图保存
可自适应显示图片,以
鼠标
位置为
中心
进行
缩放
,按住
鼠标
左键进行图片拖动,可添加截图方框并截图保存,可载入显示大部分tif格式的图,可显示伪彩,灰度图
C#
实现
图像拖拽、锚点
缩放
【以
鼠标
所指位置为
中心
缩放
】
C#
实现
图像拖拽、锚点
缩放
(以
鼠标
所指位置为
中心
缩放
)。 原创代码,引用请注明出处。
Unity3d UGUI以
鼠标
位置点为
中心
缩放
图片项目源码
Unity3d UGUI以
鼠标
位置点为
中心
缩放
图片项目源码 建议先看说明:https://blog.csdn.net/qq_33789001/article/details/117749837
flex
实现
鼠标
滚动放大缩小(以
鼠标
的位置为
中心
放大缩小)
flex
实现
鼠标
滚动放大缩小(以
鼠标
的位置为
中心
放大缩小)源码奉上
图形处理/算法
19,469
社区成员
50,697
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章