Ошибка при попытке загрузить изображение с помощью ImageIO.read - PullRequest
0 голосов
/ 11 декабря 2011

После поиска похожих вопросов я хотел бы задать следующий вопрос:

Я пытаюсь загрузить изображение из Google Static Maps, но получаю эту ошибку: Exception in thread "main" java.lang.IllegalArgumentException: input == null! at javax.imageio.ImageIO.read(Unknown Source) at MapPicturePanel.main(MapPicturePanel.java:18)

Ниже приведен полный код этого класса:

 import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;

public class MapPicturePanel {
    private JScrollPane getContent(BufferedImage image) {
        ImageIcon icon = new ImageIcon(image);
        JLabel label = new JLabel(icon);
        label.setHorizontalAlignment(JLabel.CENTER);
        return new JScrollPane(label);
    }

    public static void main(String[] args) throws IOException {
        String path = "http://maps.googleapis.com/maps/api/staticmap?center=37.426616,-122.176380&zoom=14&size=800x600&scale=2&format=jpg&maptype=hybrid&sensor=false";
        URL url = MapPicturePanel.class.getResource(path);
        BufferedImage image = ImageIO.read(url);
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setContentPane(new MapPicturePanel().getContent(image));
        f.setSize(800,800);
        f.setLocation(200,200);
        f.setVisible(true);
    }
}

1 Ответ

1 голос
/ 11 декабря 2011

Вы пытаетесь найти ресурс в вашем classpath (это то, что делает Class.getResource ).Но похоже, что вы хотите загрузить изображение с внешнего URL.

Просто сделайте это

BufferedImage image  - ImageIO.read(new URL(path));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...