Я прочитал в руководстве по игре, как загружать изображения, и они сделали это:
public Image loadImage(... String ref ...) {
...
URL url = this.getClass().getClassLoader().getResource(ref);
BufferedImage source = ImageIO.read(url);
GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
Image image = gc.createCompatibleImage(source.getWidth(), source.getHeight(), Transparency.BITMASK);
image.getGraphics().drawImage(source, 0, 0, null);
return image;
}
Это абсолютно не лучший способ с точки зрения удобства использования и ясности (= никто не мог найти этот способ простоиспользуя свой здоровый мозг).Почему это так сложно?Это должно быть?Почему загрузка изображений не может быть такой простой:
BufferedImage image = ImageIO.read(ref);
Есть ли более простой способ, если вы просто хотите загрузить изображение таким образом, чтобы Java автоматически выполняла все «стандартные вещи», которые он долженделать?Может быть, есть причина, по которой автор этого кода выбрал другой путь, потому что он хотел добиться поведения не по умолчанию?При написании ответа, пожалуйста, поймите, что я ищу простой способ решения проблемы загрузки изображений, а также способность и понимание применять более сложные средства, если это необходимо.
edit: Такжеоба ответа являются хорошим представлением мнений их авторов, до сих пор я не могу accept
один ответ, потому что ни один ответ не показывает более простой способ и / или не объясняет, что именно происходит.