Я хотел бы иметь возможность масштабирования и unzoom на сцене Java2D, сделанной из Path2D.Double без , сгущая линии, просто расширяя расстояния.неразрушающие преобразования на объектах java2d
I'v пытался применить преобразование к объекту Graphics2D, получаемого методом paintComponent, но это делает линии более толстыми. Единственный способ, которым я нашел, - применить преобразование к строкам (например, line.transform(AffineTransform.getScaleInstance(2d,2d))
), но каждый раз, когда я снова увеличиваю и снова открываю окно, я теряю информацию из-за ошибок с плавающей запятой.
Короче говоря: трансформации разрушительны. есть ли способ сказать: «Я хочу нарисовать эту линию с использованием этого преобразования без изменения содержания строки»?
Я видел, что могу сохранить трансформацию и восстановить ее позже, что касается Graphics2D, но я то, что хотел бы сделать, можно переформулировать так же, как сделать то же самое с Path2D. –
@Paul Brauner: Вы можете использовать 'AffineTransform' на' Path2D', как было предложено выше. – trashgod
yep, но затем он изменяет Path2D, вот и все, я хотел бы иметь возможность применить его к Path2D и получить новый, не изменяя оригинальный. –