如何在缩放后使图形对象保持其位置?

时间:2014-01-12 19:57:10

标签: java swing scale java-2d affinetransform

我有一个JPanel,我在其上绘制了多个自定义形状(逻辑电路和类似)。我需要实现放大和缩小功能,这将缩放画布上的所有元素。

我尝试在Graphics2D对象上使用scale()方法,并且元素正确调整大小,但问题是它们在每次缩放时都会从原始位置移开。我知道这种情况正在发生,因为坐标正在与比例因子相乘,我想我应该用某种翻译来对抗它,但我不确定如何。所以基本上,我想我应该做的事情如下:

    g2d.scale(scalefactor,scalefactor);
    g2d.translation(value1, value2);

    //draw elements

但是,我不确定如何确定用于翻译的value1和value2的值。

有什么想法吗?

0 个答案:

没有答案