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

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

一、鼠标滚轮缩放的中心点设置为当前鼠标中心点 - 要点分析 ---- 鼠标指针指向界面中的 Canvas 画布某个位置 , Canvas 画布中绘制着一张超大图片 , 以该位置为中心 , 滑动鼠标滚轮时进行缩放...; 使用鼠标滚轮缩放后 , 在 Canvas 中绘制的图片的尺寸肯定是放大或者缩小了 , 尺寸发生了改变 ; 图片缩放时 , 鼠标指针指向一个位置 , 该位置对应着一个当前 Canvas 画布中的 x..., y 坐标 , 同时可以计算出当前位置对应的图片中的 水平方向的比例 和 垂直方向的比例 ; 在缩放后的图片中 , 只要保证鼠标指针指向相同的 x, y 坐标时 , 该位置对应的 水平方向的比例 和...在鼠标滚轮缩放完成后 , 再根据鼠标指针指向的位置和比例 , 结合图片缩放后的尺寸 , 重新计算画布偏移的位置 , 以达到鼠标指向的图片元素位置基本保持不变的目的 ; /** * 计算新的比例...+ 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 ---- 1、代码示例 import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter

2.8K10

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

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

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

    探究 css touch-action 属性

    See 这样的bug 然后找了一通发现可以用 *{touch-action:none}这个方法 用法是禁用元素(及其不可滚动的后代)上的所有手势,以使用自己提供的拖放和缩放行为(如地图或游戏表面...这意味着在实践中,触摸动作通常仅适用于具有某些自定义行为的单个元素,而无需在该元素的任何后代上明确指定触摸动作。 手势开始之后,触摸动作值的更改将不会对当前手势的行为产生任何影响。...可以与 pan-x 、pan-left 、pan-right 和/或 pinch-zoom 组合使用。 manipulation 浏览器只允许进行滚动和持续缩放操作。...任何其它被auto值支持的行为不被支持。启用平移和缩小缩放手势,但禁用其他非标准手势,例如双击以进行缩放。 禁用双击可缩放功能可减少浏览器在用户点击屏幕时延迟生成点击事件的需要。...示例 最常见的用法是禁用元素(及其不可滚动的后代)上的所有手势,以使用自己提供的拖放和缩放行为(如地图或游戏表面) #map { touch-action: none; } 另一种常见的模式是使用指针事件处理水平平移的图像轮播

    1.8K10

    ubuntu快捷键设置大全

    压着shift拖动窗口可以让窗口吸附在屏幕的边缘 鼠标左右两键同时按,其效果相同于中键。 还有要使用滚动条移动页面时,鼠标的左、右、中键都有不同效果。...自己试试,如右键只在凸起位置上按才有效果、在滚动条的凸出或平坦位置上按中键拖曳,效果与左键并不相同。 可以在窗口任一位置上拖曳,按着Alt键拖曳。...代表 "Delete" 一样) 按住Ctrle+滚动鼠标中键,可以改变当前窗口中字体的大小 ctrl+shift +拖动,可以快速建立链接 1、窗口最大化时,直接拖标题栏,可立刻缩小窗口,如果不松手...18、终端命令补全: 输入命令的前几个字符,再按 Tab 键两次,可显示所有与输入字符前身匹配的命令。 19、快速呼出窗口栏菜单: 同时按下 Alt + 空格键 ,可显示窗口栏菜单。...1、用快捷键启动程序 为您指定的程序添加一个键盘快捷键,只需按相应快捷键便能启动程序等,就像我们使用 XP 时为快捷方式添加热键一样,GNOME 也有这些功能,而且设置并不难。

    2K30

    drag事件详解:html5鼠标拖动排序及resize实现方案分析及实践

    而HTML5中直接提供了拖放的API,只要通过监听元素的拖放事件就能实现各种拖放功能。拖放API阐释拖放(Drag和 drop)是 HTML5 标准的组成部分。...为了使元素可拖动,必须把 draggable 属性设置为 true :testdraggable属性:设置元素是否可拖动。...,被拖拽对象离开目标对象时触发拖动事件列表每一个可拖动的元素,在拖动过程中,都会经历三个过程,拖动开始-->拖动过程中--> 拖动结束在拖动目标上触发事件 (源元素-被拖动的元素):ondragstart...如果拖动操作不涉及拖动文件,此属性是一个空列表。dropEffect获取当前选定的拖放操作的类型或将操作设置为新类型。...画布元素位置与尺寸调整可以先回顾下《再谈BOM和DOM(6):dom对象及event对象位值计算—如offsetX/Top,clentX》如果使用mouse事件控制,就显得非常复杂。

    6.4K21

    react-moveable轻松实现元素移动、缩放和旋转

    react-moveablereact-moveable 是一个用于 React 的库。它通常用于在 React 应用中实现可移动的元素,比如图像、组件等的拖放、缩放、旋转等交互功能。...以下是一些常用属性:target: 需要变为可移动的元素的引用。draggable: 设置为 true 时,元素可拖动。resizable: 设置为 true 时,元素可缩放。...实际应用场景:一、图片编辑与布局在图像编辑类应用中,react-moveable可以让用户自由地移动、调整图片的位置和大小。...例如,在一个在线照片编辑工具中,用户可以通过拖动图片来调整其在画布上的位置,通过拉伸边框来改变图片的大小。这样的功能可以极大地提高用户的操作体验,让他们能够更加灵活地进行图片布局和编辑。...二、界面组件布局对于复杂的用户界面设计,react-moveable可以帮助开发者实现可拖动的界面组件。比如,在一个管理后台系统中,管理员可能需要根据自己的需求调整各个模块的位置和大小。

    43910

    CrystalDiffract for Mac(晶体结构分析软件)

    id=MjU2NjEmXyYyNy4xODYuMTI0LjQ%3D软件功能指尖衍射CrystalDiffract提供了强大的X射线和中子粉末衍射模拟功能:但是快速且易于使用。...您可以操纵和重新缩放观察到的数据,应用实时平滑和背景校正-然后使用创新的屏幕工具测量观察到的图案。与模拟图案进行比较以检查纯度-或尝试进行相鉴定。...多点触摸借助CrystalDiffract的触控板支持,缩放和滚动衍射图样变得轻而易举。只需“捏到缩放”,然后滑动即可水平滚动或垂直缩放。...您还可以指定精确的绘图范围,使用“滚动器”工具或使用工具栏的比例尺和滚动命令。可以根据各种标准对图案进行分类,并在屏幕上自动堆叠。...提示可扩展,以显示每个峰的完整信息,包括其d间隔,数据输出CrystalDiffract使您可以将工作另存为独立的文档,以便下次使用该程序时可以快速方便地进行访问。

    70420

    【愚公系列】2023年11月 Winform控件专题 RichTextBox控件详解

    搜索和替换使用Find、FindNext和Replace等方法来实现搜索和替换操作。RichTextBox控件还支持拖放、自动滚动、行号显示和自动完成等功能,是一个非常实用的文本编辑工具。...若EnableAutoDragDrop属性设置为true(默认值为false),则控件会自动响应拖放操作,即当文本被拖动到RichTextBox控件上时,控件会自动接受拖放操作,并将拖放的文本插入到控件中...,这样当我们将文本拖动到控件中时,控件会自动响应拖放操作。...(以像素为单位)。...在Windows 10中,最大缩放比例为1000%。1.10 ScrollBarsRichTextBox控件的ScrollBars属性用于控制文本框中的滚动条显示方式。

    1K21

    最新iOS设计规范四|3大界面要素:视图(Views)

    在内容周围使用足够的填充,以保持布局整齐并防止内容重叠。 集合的方式不适用于文本信息,文本信息可以用列表。相对于集合,文本信息展示在一个可滚动的列表中,浏览起来会更简单和有效。 谨慎进行动态布局变更。...五、图像视图(Image Views) 图像视图是在透明或不透明背景上,显示的单个图像或动画图像序列。在图像视图中,图像可以被拉伸、缩放、调整大小以适合或固定到特定位置。...仅当用户点击取消按钮时才取消当前的任务。 在屏幕适当的位置显示浮层。浮层的箭头应尽可能直接指向触发它的元素。因为浮层不能在屏幕上拖动,所以浮层不能覆盖屏幕上太多内容。也不能覆盖触发它的元素。...同时滚动视图也可以被设置为页面模式,此时滚动视图便可以以页面翻转的形式进行新旧页面间的切换。 ? 恰当的支持缩放交互行为。在确保有意义的前提下,支持用户通过缩放或双击进行缩放。...尽管辅助窗格的内容可以更改,但它应始终与其他列中可清楚识别的选择相对应。这种选择有助于人们理解列之间的关系并保持自己的方向。 如果合适,允许人们在列之间拖放内容。

    8.5K31

    17 Most popular Vue.js plugins

    主要特征: 支持触控设备 支持拖动手柄和可选文本 智能自动滚动 支持不同列表之间的拖放 没有 jQuery 依赖 保持同步 HTML 和查看模型列表 兼容 Vue.js 2.0 转换组 Vee-Validate...3 Forms 课程中介绍了如何使用这个库。...主要特征: 常用交互功能: 移动端缩放、 拖动、 平移、 拖动标记、 捏拉缩放 自定义切片图层 手机硬件加速 标记, 弹出窗口 图像叠加 TroisJS 地址:https://troisjs.github.io...vue-scrollama 地址:https://www.npmjs.com/package/vue-scrollama 一个 Vue 组件,可轻松设置滚动驱动的交互(又称滚动讲演)。...主要特征: 流式传输摄像头 并连续扫描二维码 拖放要解码的二维码图像 批量扫描 QR 码图像 原文链接:Most popular Vue.js plugins & packages

    6.1K30

    SceneKit 场景编辑器-为您的AR体验构建3D舞台

    在此空间中,您将能够从不同角度查看3D模型并对您的修改进行流式处理。您可以通过单击并用一根手指拖动来更改视角。要在保持相同角度的同时调整视图,请用两根手指滚动。...节点变换涉及位置,旋转和缩放。 位置 位置是您放置模型的位置。它由3D坐标组成:x,y和z。当所有坐标的初始位置设置为0时,它是应用程序加载时设备相机的起始位置。...对于我们来说,我们宁愿要使用的方向在X,Y和Z轴。 Euler Angles 缩放 Scale允许我们调整模型的大小。 边界框 边界框是您的资产的尺寸,以米为单位。...2k地球镜面地图 高光之前和之后 此图像显示使用光源应用地球镜面反射贴图之前和之后的比较。注意中间的轻球?另外根据地图,水应该比陆地更亮。...结论 现在,我们只使用基本几何图形制作了一个简单的3D对象,并应用材质使其看起来更真实。我们学会了如何定位,旋转和缩放它。使用SceneKit场景编辑器可以避免很多代码,就像故事板一样。

    5.6K20

    Android Studio 中 System Trace 的新增功能

    跟踪文件,该文件可用于生成系统报告,此报告可帮助您了解如何最有效地提升应用或游戏的性能。...System Trace 虽然使用率不高,但它是一款功能强大的 CPU 记录配置。...System Trace 事件按命名添加了对应颜色 更加直观的导航 新的 Trace UI 使用了改进的时间轴导航方案,我们用主要 - 细节视图替换了以前的水平滚动条。...使用范围选择器来专注于时间轴的一小部分 在这里您可以进行更加精细的导航操作: 使用 Ctrl (在 Mac 上为 Cmd) + 鼠标滚轮进行缩放; 按住空格键的同时左右拖动鼠标可平移视图; 使用 "WASD...框选、拖放与缩放 分析面板 说到分析,我们想着重聊一聊 Android Studio 4.0 中引入的新  Analysis Panel ,它位于  Profiler 窗口的右边一列。

    2.7K50

    html5鼠标拖动排序及resize实现方案分析及实践

    对列表进行拖动排序,尺寸改变。之前一般会使用jQuery-UI。其通过mousedown、mousemove、mouseup这三个事件来实现页面元素被鼠标拖拽的效果。...而HTML5中直接提供了拖放的API,只要通过监听元素的拖放事件就能实现各种拖放功能。 拖放(Drag和 drop)是 HTML5 标准的组成部分。...为了使元素可拖动,必须把 draggable 属性设置为 true : test[object Object] 整个拖拽事件触发的顺序如下...files属性 返回被拖拽的文件列表,是一个FileList对象,有length属性,可通过下标访问。此功能可用于将文件从用户桌面拖动到浏览器。一般配合FileReader来处理文件。...画布元素位置与尺寸调整 可以先回顾下《再谈BOM和DOM(6):dom对象及event对象位值计算—如offsetX/Top,clentX》 如果使用mouse事件控制,就显得非常复杂。

    3.1K10

    Adobe Bridge软件怎么获取?Br安装教程(含全版本安装包)

    主要功能 1,AMB:借助InDesign CS5和Photoshop CS5中的可自定义面板Adobe Mini Bridge,在您的工作环境中访问所有创意资源。...Adobe Stock,这样您就可以获得作品的版税 -支持具有缩放能力的Retina和HiDPI显示器 -自动化缓存管理 -发布到Adobe Portfolio以构建您的个性化网站 -快速组织和堆叠全景和...您还可以通过在“编辑>首选项>界面”对话框中设置“用户界面”首选项来更改默认用户界面外观、文本大小和缩放。 增强的创意云库 Bridge中的“库”工作区现在显示库项的高质量预览。...如果您旅行到不同的时区,并且在开始拍照之前不更改相机的日期或时间设置,则此功能非常有用。使用此功能,您可以在捕获图像后编辑捕获时间。...此功能提高了播放文件的性能,因为只要您以后想查看这些文件,就可以随时访问这些文件。建议您定期清理旧的和未使用的媒体缓存文件,以优化性能。可以通过选择“编辑>首选项>媒体缓存”来设置媒体缓存的首选项。

    3.3K10

    你不知道的33个令人惊艳的React开发库

    专注于重要的事情! react-drag-drop-files image.png 轻量且简单的 Reactjs 拖放文件库,可使用非常灵活的更改选项,因此您可以为拖放区域放置任何您想要的设计。...用户可以在窗口中的任何位置拖放甚至选择文件。 react-dnd image.png React DnD 是一组 React 实用程序,可帮助您构建复杂的拖放界面,同时保持组件解耦。...是一个可以重新缩放本地图像的 React 模块。...您可以更改图像的宽度、高度、格式、旋转和质量。它返回调整大小后的图像的新 base64 URI 或 Blob。URI 可以用作组件的源。...react-virtual image.png 仅在 TS/JS、React、Vue、Solid 和 Svelte 中以 60FPS 的速度虚拟化大量可滚动元素中的可见 DOM 节点,同时保留对标记和样式的

    35320

    一款很棒的GIF动画制作小软件GifCam

    鼠标滚轮支持:您可以使用鼠标滚轮在编辑窗口中滚动,这是一个小功能,但它有很大的不同 4.0 版 2014 年 7 月 12 日更新 4.0 版具有三个最需要的功能: 更改绿屏颜色:防止录制的颜色与绿屏颜色发生冲突...修复了某些高屏幕分辨率和缩放显示的“录制外部区域”和“黑色边框”。 支持将 gif 文件拖放到 GifCam 主窗口打开。...这是有关 GifCam 5.5 的更多详细信息http://blog.bahraniapps.com/gifcam-5-5/ 6.0 版 2019 年 10 月 10 日 质量改进更新 可缩放的用户界面...:GifCam 6.0 可缩放以适应显示分辨率。...保存最后位置的选项:如果未选中此选项,则 gifcam 应用程序将在桌面中央打开。 无论系统字体大小如何,帧和延迟标签之间的自动间距。 修复了 Windows XP 右键菜单。

    2.5K20

    Flutter 基础系列之手势思维导图(5)

    今天我们来了解一下手势这个概念, 先来了解一下手势的优点: 更干净的界面 便于使用 更好地完成任务 增加用户互动 轻松的用户界面 手势类型 现在让我们看看 Flutter 平台提供的手势类型以及可以使用哪些小部件来执行这些手势...我们还将研究一些用例,来判断如何在理想情况下应该使用手势。...它可以是文本、图标甚至图像中的任何内容。 导航手势包括: 轻敲 滚动和平移 拖 滑动 捏 动作手势 顾名思义,一个突出的按钮,例如浮动操作按钮,可以通过单击、长按或滑动在当前屏幕上执行快速操作。...以 Gmail 为例,用户可以在其中滑动以存档电子邮件或点击扩展的 FAB 按钮以撰写电子邮件。 动作手势包括: 轻敲 长按 滑动 变换手势 使用两个或多个手指来变换大小、位置和旋转。...一个普遍的例子是谷歌地图。用户可以使用双指缩放手势、双击缩放、拖放图钉或旋转地图。

    1.4K20

    web前端学习:HTML5十个新特性

    图像缩放               ------------------              ctx.save()                                    绘图上下文的保存...(五)SVG绘图                     Scalable Vector Graphic,可缩放向量图 在H5标准之前的使用方法:SVG标签不能直接书写在网页中,只能编写在独立的XML文档中...(六)地理定位—— 了解            通过浏览器获取当前用户的所在地理坐标,以实现“LBS服务”(Location Based Service),如实时导航、周边推荐。            ...API             H5之前没有拖放API,可以使用“鼠标按下 + 鼠标移动”两个事件来模拟用户拖动事件。            ...注意:拖放API事件句柄中所有的事件对象都有一个dataTransfer属性(数据运输对象),用于在源对象和目标对象间传递数据。

    2.9K10

    一个创建产品动画说明视频的新手指南

    展示新产品功能的动画说明视频可以比书面描述更有效地吸引客户的关注和想象力。 但是,你说,我不知道如何制作动画说明视频。 不用担心。...我打算解决的问题 如何重新调整您的当前资产和艺术作品,以便使用Adobe After Effects为产品视频创建动画元素。我将向您展示动画的基本概念和简单的技巧,为您的视频提供专业的指导。...缩放 你也有两个选择。您可以使用变换句柄保持位移,单击并将边界框的右下角拖动到正确的比例。第二个选项是在“时间轴”的“转换”卷展栏中使用Scale(“ 缩放”)属性,并将该值设置为大约25%。...当我们在它,按command+option+F(或ctrl + alt + F)调整您的动画到新的合适大小。预览时 它应该与以前一样,只是缩小。 使用关键帧来缩放大小和位置。...现在,您可以在时间轴窗格中复制并粘贴图层,并将每个图层缩小到新的位置,以显示多个窗口。(专业提示:使用键盘上的J和K在图层上的关键帧之间向前和向后跳过。)

    3K10

    Qt官方示例-拖放机器人

    ❝拖放机器人示例演示如何在QGraphicsItem子类中实现拖放,以及如何使用Qt的Animation Framework动画化项目。❞ ?   ...类提供了可拖动的彩色椭圆。   ...我们将首先看Robot类,以了解如何组装不同的部分,以便可以使用QPropertyAnimation分别旋转和动画化各个部分,然后我们将看ColorItem类,以演示如何在项目之间实现拖放。...此实现提供了最重要的逻辑CircleItem启动和管理拖动的代码。   该实现首先检查鼠标是否已被拖动足够远以消除鼠标抖动噪声。我们仅想在鼠标被拖动的距离大于应用程序开始拖动的距离时开始拖动。   ...为了提高视觉质量,我们启用了抗锯齿功能。我们还选择使用边界矩形更新来简化可视更新处理。该视图具有固定的沙色背景和窗口标题。   最后,我们显示视图。控件进入事件循环后,动画立即开始。

    4.8K41
    领券