Как правильно повернуть изображение в JPanel (Java) - PullRequest
1 голос
/ 26 марта 2010

Я работаю над вращением загруженного изображения. Я установил графику на JPanel, а затем использую стандартный AffineTransform, чтобы повернуть его, скажем, на 45 градусов. К сожалению, изображение обрезается, если оно превышает площадь панели. Как я могу заставить JPanel добавлять прокрутки к себе (при загрузке файла изображения я хотел бы отрегулировать размер JPanel, добавляя прокрутки без настройки размера JFrame).

Или, другими словами, как правильно повернуть все изображение?

Заранее спасибо за ответ!

Ответы [ 3 ]

1 голос
/ 26 марта 2010

Вам нужно поместить панель в jscrollPane, а затем убедиться, что у вас правильно настроены размеры, чтобы была доступна прокрутка.

1 голос
/ 26 марта 2010

Используйте взамен JScrollPane .

0 голосов
/ 27 марта 2010

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

Вместо этого у вас, вероятно, должен быть метод rotate (...). Этот метод создаст BufferedImage желаемого вращения. Затем ваш метод paintComponent () просто рисует буферизованное изображение. Затем вы должны установить предпочтительный размер на основе вращения.

Теперь относительно предпочтительного размера повернутого изображения, посмотрите пример .

...