java - JComponent JPanel 缩放、平移和坐标问题

标签 java swing zooming affinetransform

我有一个 JPanel,其中包含用户可以缩放和平移的 vector 图像。覆盖该图像的是一个(透明的)JComponent,我允许用户注释底层图像。这在全尺寸下效果很好,但如果我使用 AffineTransform 进行放大,覆盖的坐标也会受到影响。因此,如果用户在图像上绘制一个框,该框也会缩放。

关于如何解耦这种行为有什么建议吗?这样 JComponent 就不会受到 JPanelAffineTransform 的影响吗?

最佳答案

通常,您需要正向变换和反向变换才能在两个坐标系之间进行转换。在此example ,缩放方程是显式的;在这个alternate approach ,使用第二个 AffineTransform

关于java - JComponent JPanel 缩放、平移和坐标问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4292174/

相关文章:

java - 如何从字符串中删除一些字符

java - Java中使用正则表达式进行匹配?

zooming - Highcharts 平移

java - JOptionPane.showInputDialog 显示两次

java - 调整主框架大小时 JPanel 窗口不缩放

java - 没有 ItemListener 也能正常工作,但是当我添加它时,它会给我一个 NullPointerException

java - 尝试将 rtf 文件从 Jar 读取到 JEditorPane;在 Netbeans 中工作,而不是在 Jar 中工作

c++ - 使用 GLM 功能放大 OpenGL 中的当前鼠标位置

Java2D,放大函数的图形

java - 扩展简单 GUI 的功能