Показать только часть изображения с Java - PullRequest
0 голосов
/ 16 декабря 2011

Если у меня есть большое изображение, которое состоит из 25 x 25 меньших изображений в сетке. Как я могу использовать Java, чтобы показать только часть этой более крупной сетки (например, нарисовать часть, которая начинается в 125,25 и заканчивается в 150,50)?

Ответы [ 2 ]

3 голосов
/ 16 декабря 2011

Я бы разбил изображение на более мелкие изображения, поместил меньшие ячейки изображения в их собственные ImageIcons и затем отобразил бы те значки, которые мне нужны в JLabels, возможно, несколько из них.BufferedImage#getSubimage(...) может помочь вам разбить большое изображение на более мелкие.

(решил сделать ответ)

2 голосов
/ 16 декабря 2011

Если вам не нужна физическая копия вспомогательного изображения, и вам нужно только отобразить его, вы можете добавить изображение в JLabel, которое вы добавляете в JScrollPane без полос прокрутки.Установите предпочитаемый размер () полосы прокрутки, равный размеру ваших вложенных изображений (25x25).Затем вы можете использовать

scrollPane.getViewport().setViewPosition(...);

для позиционирования области просмотра для отображения любого подизображения.

...