|
|
Java форум JavaTalks форум программистов
|
|
|
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
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);
|
Этот подход будет использовать возможные оптимизации преобразования изображений. |
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|