Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Не хочет записывать изображение
Список форумов
 ->  Работа с изображениями (Advanced Imaging API)


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
babich : 4
Новичок

СообщениеДек 20, 2011 15:11 
Ответить с цитатой
Добрый день.
Делаю стеганографию, аддитивный алгоритм
Я считываю изображение, потом запихиваю в них некоторую информацию, и пытаюсь записать изображение с вшитой информацией
Код:

public void makeImage(byte[] data) throws IOException{
    BufferedImage bI = ImageIO.read(new ByteArrayInputStream(data));
    File e = new File ("enc.png");
    ImageIO.write((RenderedImage)bI, "png", e);
}


byte[] data - массив пикселей с вшитой информацией, сделанный из исходного массива пикселей изображения, которые были получены вот таким способом:
Код:

WritableRaster wr = image.getRaster();
    DataBufferByte buffer = (DataBufferByte)wr.getDataBuffer();
    pixels = buffer.getData();


На эту строку выскакивает исключение: java.lang.IllegalArgumentException: im == null!

Код:
ImageIO.write((RenderedImage)bI, "png", e);


Буду благодарна за помощь
К началу Посмотреть профиль Отправить личное сообщение
Skipy : 4801
Я тут живу!
Откуда: Москва, Россия

СообщениеДек 20, 2011 15:27 
Ответить с цитатой
А Вы уверены, что читаете из правильного массива? Он ведь должен соответствовать определенному графическому формату - только тогда его ImageIO.read правильно прочитает. А если он УЖЕ соответствует формату - смысл пытаться его записать как png? Запишите этот массив байтов.

В общем, мое предположение - Вы неправильно формируете данные, в результате BI==null.

Как Вы модифицируете массив данных? Откуда его берете? Что в нем?
_________________
С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других!
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
 
Начать новую тему  Ответить на тему
Страница 1 из 1
Список форумов
 -> Работа с изображениями (Advanced Imaging API)


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru