2011-12-15 4 views
0

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

ответ

3

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

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

2

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

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

, чтобы расположить видовое окно для отображения любого дополнительного изображения.

Смежные вопросы