Как отобразить ImageIcon из файла изображения в высоком разрешении современных экранов?JAVA

Программисты JAVA общаются здесь
Anonymous
Как отобразить ImageIcon из файла изображения в высоком разрешении современных экранов?

Сообщение Anonymous »

Я пытаюсь прочитать значок из файла .png и отобразить его в половинном размере, чтобы воспользоваться преимуществами более высокого разрешения современных экранов. Но ничего из того, что я пытаюсь сделать, не работает.
Вот что я пробовал:
  • На изображении ниже, чтобы создать «32, масштабированное до 16», я вызвал Image.getScaledInstance(). Этот метод был написан задолго до изобретения экранов с высоким разрешением и возвращает изображение с низким разрешением в половинном размере.
  • Чтобы создать «16-пиксельный вариант»: я создал MultiResolutionImage с 16-пиксельным и 32-пиксельным вариантами и запросил 16-пиксельный вариант, надеясь, что он уменьшит масштаб 32-пиксельного варианта. Он использовал 32-пиксельный вариант, но в полном размере. Это заставляет меня задуматься, для чего этот класс хорош.
  • Чтобы создать «Кнопку половинного размера», я создал подкласс ImageIcon половинного размера и переопределил три метода, используемые для рисования изображения. Частично это сработало. Это было единственное решение, которое рисовало изображение в правильном размере и разрешении, но помещало его не в то место.
Таким образом, ничего из этого не сработало. Вы можете скачать код по адресу https://github.com/SwingGuy1024/IconFamilyBug и попробовать это самостоятельно. Вот что получилось:
Изображение

Вернуться в «JAVA»