Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / прочитать изображение (gif/jpg) / 7 сообщений из 7, страница 1 из 1
19.05.2004, 03:18:33
    #32523101
kadet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прочитать изображение (gif/jpg)
Не мог бы мне кто толком объяснить почему не работает следующий код:

Iterator iterator = ImageIO.getImageReadersByFormatName("gif");
ImageReader reader = (ImageReader) iterator.next();

File file new File("eis.gif");
ImageInputStream imageIn = ImageIO.createImageInputStream(file);

reader.setInput(imageIn);

BufferedImage image=reader.read(0);


так вот проблема происходит в момент образования переменной imageIn. Она
принимает значение null.По документации это означает невозможность открытия входного потока. Почему такое происходит со стандартным графическим форматом понять не могу, Тем более, что переменная reader получает свое нормальное значение.

На фоне всего этого еще более странным оказывается полная работоспособность упрощенного варианта:

BufferedImage image=ImageIO.read(new

URL("file:///C:/project/classes/eis.gif"));

Т.о.- вопрос:
Почему же все таки не работает ImageInputStream ?


буду признателен за помощь.

PS jdk version 1.4.2_01-b06
...
Рейтинг: 0 / 0
19.05.2004, 22:34:21
    #32524941
josia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прочитать изображение (gif/jpg)
мне кажется что такая замена решила бы Вашу проблему
Код: plaintext
File file = new File("C:/project/classes/eis.gif");
у меня все работает нормально
...
Рейтинг: 0 / 0
20.05.2004, 13:10:36
    #32525909
kadet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прочитать изображение (gif/jpg)
а ведь Вы таки правы.

после того как я указал абсолютный путь, все начало работать. Это не смотря на то, что мой графический файл лежал в том же месте где и ".class". Собственно говоря я поэтому в классе не указывал путь.

В общем надо больше пить пиво.
спасибо.
...
Рейтинг: 0 / 0
20.05.2004, 13:20:50
    #32525945
GrayRat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прочитать изображение (gif/jpg)
Если требуется задавать относительные пути, можно попробовать так:

Код: plaintext
ImageIcon imgOk16 = new ImageIcon(".\\resource\\ok16.gif");
...
Рейтинг: 0 / 0
20.05.2004, 16:46:08
    #32526684
kadet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прочитать изображение (gif/jpg)
тоже работает.

спасибо
...
Рейтинг: 0 / 0
21.05.2004, 17:49:04
    #32528824
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прочитать изображение (gif/jpg)
Если картинка представляет из себя ресурс, (ну например иконка для кнопки) который вы потом в jar архив упакуете вместе с файлами *.class , то нужно делать так- ImageIcon add=new ImageIcon(getClass().getResource("images/add.gif")); т.к. абсолютный путь уже не покатит.
В вашем случае можно сделать вот так -
File file new File(getClass().getResource("eis.gif")); - это если файл *.gif лежит там же где *.class.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
22.10.2007, 02:00:36
    #34883615
Who am I
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прочитать изображение (gif/jpg)
Нашел один пример, может быть будет кому-то полезен. Я всегда делал как было написано выше, пока не попробовал вот это:

Код: plaintext
1.
2.
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.getImage("icon.gif");
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / прочитать изображение (gif/jpg) / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]