RSS 2.0 Версия для КПК (Бета)
Конференция JavaTalks  :  Java форум
JavaTalks - форум программистов
Java форум JavaTalks
форум программистов 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
BufferedImage и Image

 
Начать новую тему   Ответить на тему    Список форумов Java форум JavaTalks -> Работа с изображениями (Advanced Imaging API)
Предыдущая тема :: Следующая тема  
Автор Сообщение
Sai_
Новичок


Зарегистрирован: 26.11.2009
Сообщения: 3

СообщениеДобавлено: Дек 13, 2009 15:28    Заголовок сообщения: BufferedImage и Image Ответить с цитатой

Доброго времени суток.
У меня имеется некий рисунок ( объект типа Image), необходимо его сохранить на жесткий диск в заданном формате.
С сохранением рисунка ( объекта типа BufferedImage) проблем не возникает:
Код:
  ImageIO.write(_BufferedImage, "jpg", "1.jpg"); 


Как сохранить Image на жесткий диск или же как его привести к типу BufferedImage?
Спасибо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Sai_
Новичок


Зарегистрирован: 26.11.2009
Сообщения: 3

СообщениеДобавлено: Дек 13, 2009 16:13    Заголовок сообщения: RE: BufferedImage и Image Ответить с цитатой

Нашел решение )
в цикле присваиваем каждый пиксель и всё
Код:
bi.setRGB(i, j, p_aRefPixels [ count ] ) ;
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Shreder
Новичок


Зарегистрирован: 07.05.2008
Сообщения: 101
Откуда: Kharkov, Ukraine

СообщениеДобавлено: Фев 02, 2010 21:36    Заголовок сообщения: RE: BufferedImage и Image Ответить с цитатой

А Raster запросить? Ваше решение уж больно долго будет выполнятся.

Собственно в подавляющем большинстве случаев Image кастится к BufferedImage.
A всего у интерфейса Image две реализации на уровне библиотеки Java - BufferedImage, VolatileImage. VolatileImage используется очень редко, и хрнить в нем данные нецелесообразно потому-что они могут быть утеряны.

Т.о. все сводится к
Код:
 ImageIO.write((RenderedImage)image, "bmp", new File("image.bmp"));

Мне самому приходилось загружать растр с помощью JNI, и даже в этом случае было удобно пользоваться BufferedImage передавая в него растр.

P.S. У BufferedImage есть известная проблема с форматом PNG, если картинка занимает размер больше мегабайта летит OutOfMemoryError. Так что больших PNG этим лучше не пользоваться. Вот эта штука подойдет намного лучше http://java.sun.com/javase/technologies/desktop/media/jai/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
nis
Бывалый


Зарегистрирован: 17.07.2008
Сообщения: 330

СообщениеДобавлено: Май 01, 2010 10:42    Заголовок сообщения: RE: BufferedImage и Image Ответить с цитатой

проще всего - создать bufferedimage такого же размера и отрисовать в него ваш image:
Код:
bufferedImage.getGraphics().drawImage(image, 0 , 0, null);

Этот подход будет использовать возможные оптимизации преобразования изображений.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Java форум JavaTalks -> Работа с изображениями (Advanced Imaging API) Часовой пояс: GMT + 3
Страница 1 из 1

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


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

GetJava Download Button Rambler's Top100
Хостинг от bizname.ru
При поддержке hitech.com.ua