首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

一、鼠标滚轮缩放的中心点设置为当前鼠标中心点 - 要点分析 ---- 鼠标指针指向界面中的 Canvas 画布某个位置 , Canvas 画布中绘制着一张超大图片 , 以该位置为中心 , 滑动鼠标滚轮时进行缩放...; 使用鼠标滚轮缩放后 , 在 Canvas 中绘制的图片的尺寸肯定是放大或者缩小了 , 尺寸发生了改变 ; 图片缩放时 , 鼠标指针指向一个位置 , 该位置对应着一个当前 Canvas 画布中的 x..., 并设置图片位置 ; 这样图片缩放时 , 始终可以保证鼠标指向的部位保持位置不变 ; 1、保存当前鼠标指针指向的位置 首先 , 在类中定义如下成员字段 , pointer_x 和 pointer_y..., 保存当前的鼠标位置及比例 ; 在鼠标滚轮事件 MouseWheelEvent 中 , 可以直接通过调用 e.getX(), e.getY() 获取到当前 鼠标指针 在 Canvas 画布的坐标 ;...在鼠标滚轮缩放完成后 , 再根据鼠标指针指向的位置和比例 , 结合图片缩放后的尺寸 , 重新计算画布偏移的位置 , 以达到鼠标指向的图片元素位置基本保持不变的目的 ; /** * 计算新的比例

2.8K10

【Java AWT 图形界面编程】使用小键盘按键缩放 Canvas 画布中绘制的背景图像 ( 键盘按键监听 + 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

+ 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 ---- 在 【Java AWT 图形界面编程】Canvas 中绘制超大图片 ( 使用鼠标拖动查看全图 | 设置 JFrame 窗口自动关闭...| 获取并绘制图片 | 鼠标拖动计算位移 | 画布偏移 ) 博客中 , 绘制了超大图像 , 可以使用鼠标拖动 ; 在 【Java AWT 图形界面编程】使用鼠标滚轮放大缩小 Canvas 画布 ( 鼠标滚轮事件监听器...MouseWheelListener ) 博客中 , 新增鼠标滚轮缩放画布示例 , 但是使用鼠标拖动时 , 拖动的效果也随之缩放, 如 缩小画布后 , 移动鼠标 , 移动距离对应的缩放效果也随之缩小...; 在 【Java AWT 图形界面编程】使用鼠标滚轮放大缩小 Canvas 画布中绘制的背景图像 ( 鼠标滚轮事件监听器 MouseWheelListener | Canvas 中绘制图像并设置图像大小...) 博客中 , 使用缩放背景图像的方式 , 实现缩放效果 , 并同时福袋鼠标指针拖拽效果 ; 本博客中实现的案例 , 在上面的基础上 , 添加了鼠标滚轮缩放的中心点设置为当前鼠标中心点 ; 1、代码示例

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    问题探讨01: 如何使用鼠标滚轮使单元格中的数值增减?

    这个问题是,在某单元格中有一个数字,当鼠标滚轮向上滚动时该单元格中的数字以0.01的间隔增加,向下滚动时以0.01的间隔减少? 探讨 很显然,这需要使用Windows API来捕获鼠标事件。...(注:可按鼠标右键退出程序) ? 图1 我想要的是,当鼠标滚轮向前滚动时,单元格中的数值增加0.01,向后滚动时,减少0.01。...事实上,该方法可用于在VB中处理任何消息。 实现应用程序支持鼠标滚轮的关键是,捕获鼠标滚轮的消息 MSH_MOUSEWHEEL、WM_MOUSEWHEEL。...滚轮按钮相当于普通的三键鼠标的中键,根据滚轮按钮的动作,Windows分别发出WM_MBUTTONUP、WM_MBUTTONDOWN、WM_MBUTTONDBLCLK消息,这些消息VB已经在鼠标事件中支持...但是,当我使用HIWORD(wParam)时,程序却崩溃了!有没有哪位朋友在这方面有研究的,可否指教一下:如何捕捉鼠标滚轮的向前或向后滚动?

    1.9K10

    C++ Qt开发:Charts折线图绑定事件

    接着,我们继续增加一个折线图动态预览功能,通过使用该功能可以对特定区域进行选择放大缩小,读者可通过键盘案件进行缩放也可通过鼠标滚轮和左右键选中缩放,该功能在图形预览中也是最常见的。...由于键盘鼠标事件很简单所以此处将不再重点介绍如何实现,在使用这些事件处理函数时,你只需要在你的类中进行重写(override)以提供特定的实现。...你可以在该函数中处理键盘抬起时的逻辑,如释放某个按键的状态。 在附件中笔者将代码整理成了Keyboard and mouse文件,读者可自行打开该文件编译运行观察键盘鼠标事件是如何被重写的。...鼠标左键释放 (mouseReleaseEvent): 获取矩形框的结束点,创建矩形框,并使用 zoomIn 方法在矩形框内进行缩放。 如果是右键点击,使用 zoomReset 方法重置缩放。...鼠标滚轮事件 (wheelEvent): 根据滚轮滚动方向,调整 g_x 的值,然后使用 zoom 方法进行缩放。

    52110

    Fabric.js 锁定背景图,不受缩放和拖拽的影响🎃

    如果你的项目有画布拖拽、缩放等功能,而且你不希望背景图跟随拖拽或缩放,那一定要往下读。 本文主要讲解如何锁定背景图,锁定背景图其实只需设置1个属性即可。...本文会添加滚轮缩放画布、拖拽画布等功能来测试 “锁定背景图” 的效果。 应该可以清晰看出,不管如何拖拽和缩放画布,背景图都纹丝不动。...添加背景图、矩形和圆形 为了方便演示,我要设置一个背景图和两个图形元素,缩放时只会修改图形元素,背景图是一动不动的。 // 省略部分代码 fabric.Image.fromURL('../.....// 距离容器左侧 200px fill: 'orange', // 填充a 橙色 width: 60, // 宽度 60px height: 60 // 高度 60px }) // 将矩形添加到画布中...添加滚轮缩放 使用滚轮缩放画布,需要监听 mouse:wheel 。

    3.3K20

    3-Ps基础(工具栏)

    固定比例、固定大小) 单行与单列选区工具 视图里面的显示额外内容矩形选区工具绘制正矩形与正圆形选区,使用shift工具从中心绘制正方或正圆选区,使用Alt+shift工具绘制指定大小的选区,在选择矩形或椭圆工具的情况下...,选择样式中的固定大小尺寸,直接进行尺寸调整。...4- 图像的放大与缩小(Ctrl+空格,Alt+空格) 1.使用放大工具(z) 2.放大:Ctrl+加号 缩小:Ctrl+减号 3.放大:Ctrl+空格 缩小:Alt+空格 (这个方法需要配合鼠标左键进行...)> 4.按住鼠标放大缩小,按住Alt键,向前滚动放大,向后滚动缩小 (在首选项中勾选使用滚轮设置,就可以不按Alt键了) 5.用滚轮放大缩小。...Ctrl+K打开首选项,常规设置里面用滚轮缩放选区的取消 ? 滚轮缩放.png 5- 颜色(X) ? 前景色与背景色.png 默认前景色与背景色快捷键:D 颜色三要素:色相,饱和度,明度 ?

    1.3K10

    Canvas鼠标滚轮缩放以及画布拖动(图文并茂版)

    Canvas鼠标滚轮缩放以及画布拖动 本文会带大家认识Canvas中常用的坐标变换方法 translate 和 scale,并结合这两个方法,实现鼠标滚轮缩放以及画布拖动功能。...事件坐标系 在构造函数中添加对 Canvas 的 mousedown 事件监听,记录点击鼠标时相对屏幕的位置 x 和 y。...实现鼠标滚轮缩放 效果 实现原理 鼠标滚轮的放大需要结合上面介绍的 Canvas 的 translate 和 scale 两个方法进行组合变换。...计算放大系数 监听鼠标滚轮的 mousewheel 事件,在事件的回调函数中通过 event.wheelDelta 值的变化来实时计算当前的缩放值,其中 event.wheelDelta > 0 表示放大...缩放原理图 鼠标停留在 A 点对蓝色矩形进行放大,放大系数为 n,蓝色矩形的起点左上角和坐标原点重合,宽度和高度分别是 x 和 y,因此,A点的坐标为 (x, y)。

    2.8K10

    Fabric.js 居中元素 🎗️

    在使用 Fabric.js 开发时,可能会需要将元素居中。...添加一个矩形,之后要居中的对象就是它了。 添加鼠标滚轮滚动时缩放画布(方便演示 基于视窗 和 基于画布 的区别)。 添加鼠标拖拽画布平移位置(方便演示 基于视窗 和 基于画布 的区别)。...60, // 宽度 60px height: 60, // 高度 60px originX: 'center', originY: 'center' }) // 将矩形添加到画布中...// 滚轮,向上滚一下是 -100,向下滚一下是 100 let zoom = canvas.getZoom() // 获取画布当前缩放值 zoom *= 0.999 ** delta...我直接上图来解释一下什么是 根据视窗水平居中元素 缩放的情况 移动画布的情况 在缩放和移动画布之后,canvas.viewportCenterObjectH 和 rect.viewportCenterH

    3.7K20

    ps切图必知必会

    或者鼠标点击一下矩形选框,在点图片区域的任意一部分,都可以取消上一次的矩形选框) 裁切工具(切片工具),可实现切图 吸管工具(取色器,吸字体,吸背景色) 橡皮擦(可对你进行过ps的操作,进行擦除) 横排文字...(更改文字) 手抓(整体移动图片),空格键(按住不放,拖动鼠标,可以实现图片的移动) 自由变换(ctrl+T):想要抹掉图片的文字或者图片等 缩放(ctrl+放大,ctrl-缩小,Alt+滚轮实现放大和缩小的操作...隐藏图层 因微信图片大小上传问题,可点击下方阅读原文进行查看 如何从一张图片中切图,保存正确格式 缩放(ctrl+放大),ctrl-缩小,或者按住Alt键不放,上下滚动鼠标滚轮,可进行放大缩小 手抓(...存储为web和设备所用的格式(ctrl+alt+shift+s) 清除辅助线–>放大(Alt+鼠标滚轮)–>调出参考线–>矩形框选中元素–>复制(ctrl+c)—>粘贴(ctrl+v)–>矩形框–>删除图标的空白区...psd原文件或者图片的文字 方法一:使用矩形框工具,在空白区选一个区域,复制,然后粘贴,拖动该复制的区块盖住文字或者图片即可即可 方法二:使用自由变换(推荐使用):在空白区选一个空白矩形框—>ctrl+

    3K20

    有了它,再也不用担心我的截图了

    下载 官网:[https://www.snipaste.com/](https://www.snipaste.com/) 适用于Windows、Mac 使用老版本Windows的小伙伴可以在官网下载绿色版...,解压后即可直接使用。...你还可以将剪贴板里的文字或者颜色信息转化为图片窗口,并且将它们进行缩放、旋转、翻转、设为半透明,甚至让鼠标能穿透它们!...截图 截图时选中矩形、椭圆、或者 记号笔/马赛克/高斯模糊/橡皮擦 的矩形填充画笔,按下鼠标右键即可自动选中界面元素。 ?...贴图窗口可以旋转(1,2)、缩放(鼠标滚轮)、半透明(ctrl+鼠标滚轮)、鼠标穿透(双击X,取消为F4): ? 以上功能也许并不新奇,但 Snipaste 还有很多特别的地方。

    1.1K20

    解锁前端难题:亲手实现一个图片标注工具

    缩放 实现图片缩放功能,我们需要了解两个关键的知识点:如何监听缩放事件和如何实现图片缩放。 先来看第一个,我用的是 Mac,在 Mac 上可以通过监听鼠标的滚轮事件来实现缩放的监听。...当用户使用鼠标滚轮时,会触发 wheel 事件,我们可以通过这个事件的 deltaY 属性来判断用户是向上滚动(放大)还是向下滚动(缩小)。...在 Canvas 中使用 scale 函数时,重要的是要理解它实际上是在缩放绘图坐标系统,而不是直接缩放绘制的图形。...为了实现这种效果,可以使用 tanslate 来移动原点,canvas 中默认的缩放原点是左上角,具体方法是,可以在缩放前,将缩放原点移动到鼠标点的位置,缩放后,再将其恢复,这样就不会影响后续的绘制,实现代码如下所示...鼠标事件的处理,如点击、拖拽、滚轮缩放等。 几何计算,如点是否在矩形内、旋转角度的计算等。 希望这个实例能够为你提供一些启发和帮助,让你在实现自己的图片标注工具时有一个参考和借鉴。

    90610

    超强截图工具Snipaste 帮你提高工作效率

    你还可以将剪贴板里的文字或者颜色信息转化为图片窗口,并且将它们进行缩放、旋转、翻转、设为半透明,甚至让鼠标能穿透它们!...Snipaste 使用很简单,但同时也有一些较高级的用法可以进一步提升你的工作效率。感兴趣的话,请抽空读一读用户手册。...支持多屏 支持高分屏 把图片作为窗口置顶显示 支持将剪贴板中的以下内容转为图片 图像 纯文本 HTML 文本 颜色信息 图像文件:PNG, JPG, BMP, ICO, GIF 等 图片窗口支持的操作...缩放 (鼠标滚轮 或者 +/-) 对于 GIF 图片则是加速/减速 旋转 (1/2) 对于 GIF 图片则是 上一帧/下一帧 镜像翻转 (3/4) 设置透明度 (Ctrl + 鼠标滚轮 或者 Ctrl...取色 (Alt) 文件拖放 贴图分组 自动备份、恢复 方便地标注图像 丰富的画图工具 矩形 椭圆 线条 箭头 铅笔 马克笔 文字 高级标注工具 马赛克 高斯模糊 橡皮擦 撤销、重做 自定义设置 主题色

    35520

    Snipaste 超级好用截图+贴图工具

    你还可以将剪贴板里的文字或者颜色信息转化为图片窗口,并且将它们进行缩放、旋转、翻转、设为半透明,甚至让鼠标能穿透它们!...Snipaste 使用很简单,但同时也有一些较高级的用法可以进一步提升你的工作效率。感兴趣的话,请抽空读一读用户手册。...支持多屏 支持高分屏 图片作为窗口置顶显示 支持将剪贴板中的以下内容转为图片 图像 纯文本 HTML 文本 颜色信息 图像文件:PNG, JPG, BMP, ICO,GIF等 图片窗口支持的操作 缩放...(鼠标滚轮或者+/-) 对于 GIF 图片则是加速/减速 旋转 (1/2) 对于 GIF 图片则是 上一帧/下一帧 镜像翻转 (3/4) 设置透明度 (Ctrl+鼠标滚轮或者Ctrl++/-) 鼠标穿透...取色 (Alt) 文件拖放 贴图分组 方便地标注图像 丰富的画图工具 矩形 椭圆 线条 箭头 铅笔 马克笔 文字 高级标注工具 马赛克 高斯模糊 橡皮擦 撤销、重做 自定义设置 主题色、界面字体、通知栏图标等

    26810

    Snipaste:高效便捷的截图工具,提升工作效率的利器

    还可以将剪贴板里的文字或者颜色信息转化为图片窗口,并且将它们进行缩放、旋转、翻转、设为半透明,甚至让鼠标能穿透它们!...Snipaste 使用很简单,但同时也有一些较高级的用法可以进一步提升你的工作效率。 Snipaste 是免费软件,它也很安全,没有广告、不会扫描你的硬盘、更不会上传用户数据,它只做它应该做的事。...支持多屏 支持高分屏 把图片作为窗口置顶显示 支持将剪贴板中的以下内容转为图片 图像 纯文本 HTML 文本 颜色信息 图像文件:PNG, JPG, BMP, ICO, GIF 等 图片窗口支持的操作...缩放 (鼠标滚轮 或者 +/-) 对于 GIF 图片则是加速/减速 旋转 (1/2) 对于 GIF 图片则是 上一帧/下一帧 镜像翻转 (3/4) 设置透明度 (Ctrl + 鼠标滚轮 或者 Ctrl...+ +/-) 鼠标穿透 缩略图 (Shift + 双击) 图像标注 (空格键) 隐藏 (左键双击) 取色 (Alt) 文件拖放 贴图分组 自动备份、恢复 方便地标注图像 丰富的画图工具 矩形 椭圆 线条

    21110

    Fabric.js 使用图片遮盖画布(前景图)

    本文简介 点赞 + 关注 + 收藏 = 学会了 在 《Fabric.js 使用纯色遮挡画布(前景色)》 中讲到使用纯色的方式遮盖画布。...如果你的常见需要使用图片来遮盖的话,fabric.js 也提供了相应的属性来配置。 相比起使用纯色遮盖画布,使用图片会更复杂。 因为图片本身是有尺寸大小的,所以可能会遇到缩放画布、平移画布等操作。...原本应该有一个矩形在画布上的,而且背景色也应该是红色。...覆盖图像不受视口变换的影响 由于图片是有尺寸的,如果你的场景中,画布可以缩放或者被拖拽,就会出现下图的效果。 覆盖的图片被缩小或者移动后,就露出了背景色(红色)。...覆盖 let rect = new fabric.Rect({ width: 80, height: 80, }) canvas.add(rect) // 通过鼠标滚轮缩放画布

    1.9K20

    【CSS】盒子模型内边距 ③ ( 盒子模型内边距案例 | 使用 Fireworks 分析网页 | 缩放图片 | 切片工具测量图片 | 吸管工具获取图片颜色 | 代码示例 )

    文章目录 一、盒子模型内边距案例 二、使用 Fireworks 分析网页 1、导入图片 2、缩放图片 3、切片工具测量图片 4、吸管工具获取图片颜色 5、测量结果 三、代码示例 一、盒子模型内边距案例...---- 模仿 CSDN 博客界面的导航栏 , 将下图中 矩形框 中的导航栏 样式写出来 ; 案例分析 : 导航栏宽度 是不固定的 , 有的链接宽度很窄 , 如 " 最近 " , " 课程 " 等...拖动到 Adobe Fireworks 工具 中进行分析 ; 2、缩放图片 使用 Ctrl + 鼠标滚轮 , 可以放大缩小图片显示 ; 3、切片工具测量图片 使用 切片工具 , 可以测量 图片中...矩形区域 的 宽高 , 宽高显示在下方 , 下图中 切片工具 选中的 浅绿色 矩形 宽高为 9 x 48 像素 , 该区域左上角坐标为 ( 15, 7 ) ; 4、吸管工具获取图片颜色 如果想要获取图片中的颜色..., 鼠标没有经过时颜色值为 #555666 ; 鼠标经过时 , 下边框为 2 像素 , 颜色值 #222226 ; 三、代码示例 ---- 代码示例 : <!

    1.2K20

    Figma 的画布缩放功能说明

    画布缩放是图形编辑器的基础功能,作用是放大图形编辑细节,缩小总览全局。我们来看看 Figma 是如何做画布缩放设计的。 zoom 使用 zoom 表示画布的缩放比。...下面是找到排序数组中,在目标值两边的数组元素的方法。...但有些情况下,用户会觉得这样缩放幅度可能有点大了,需要幅度更低的缩放,这时候可以用鼠标滚轮缩放。...鼠标滚轮缩放 Figma 也支持通过滚轮的方式缩放,且会 基于缩放比率 zoomRatio,并以光标位置为缩放中心进行缩放。 按住 Ctrl 或 Command,滚轮向前为放大,向后为缩小。...(下面是 Windows 设置鼠标滚轮灵敏度的方式) 鼠标滚轮灵敏度会反应到 WheelEvent 滚轮事件对象的 deltaY 上,灵敏度越高,每次滚动的 deltaY 就越大。

    1.9K10
    领券