我有一个JPanel,我在其上绘制了多个自定义形状(逻辑电路和类似)。我需要实现放大和缩小功能,这将缩放画布上的所有元素。
我尝试在Graphics2D对象上使用scale()方法,并且元素正确调整大小,但问题是它们在每次缩放时都会从原始位置移开。我知道这种情况正在发生,因为坐标正在与比例因子相乘,我想我应该用某种翻译来对抗它,但我不确定如何。所以基本上,我想我应该做的事情如下:
g2d.scale(scalefactor,scalefactor);
g2d.translation(value1, value2);
//draw elements
但是,我不确定如何确定用于翻译的value1和value2的值。
有什么想法吗?