Можем ли мы увеличить или уменьшить масштаб рисунка, который мы рисуем на холсте? - PullRequest
1 голос
/ 26 сентября 2010

У нас есть старое (более 10 лет) приложение Java Swing, которое рисует множество кругов и связей (линий) между этими кругами в JCanvas (подклассе JComponent) на основе лабораторных данных.

Потому чтоданные становятся все больше и больше, теперь мы не можем отобразить весь чертеж.Мы поместили JCavans в JScrollPane, но прокручивать чертеж не удобно.

Можем ли мы добавить увеличение для уменьшения?если да, то как?Я знаю, что мы можем увеличить изображение, но рисунок на холсте - это изображение?

спасибо,

РЕДАКТИРОВАТЬ:

мы рисуем эти круги и линии с графикой в ​​методе paintComponent(Graphics g).

Ответы [ 2 ]

0 голосов
/ 26 сентября 2010

Вы можете применить масштабирование Transform к объекту Graphics2D, переданному методу paintComponent.Вы можете узнать, как использовать его в программном курсе Java 2D .

0 голосов
/ 26 сентября 2010

Не зная ничего о вашем приложении, трудно дать полезный совет (добавление фрагмента кода или, что еще лучше, приложения с урезанным примером было бы полезно, чтобы показать, как все рисуется), но я попробую:

Почему бы вам не умножить значения x, y и width, height на коэффициент масштабирования, прежде чем рисовать каждый круг / линию?Я предполагаю, что где-то ваш холст использует Graphics объект для рисования каждой фигуры?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...