У меня есть объект Serializable, который должен содержать java.awt.Image как его член. Как мне его сериализовать? (Отредактировано из не очень ясной первой версии, извините.)
Как лучше всего сериализовать java.awt.Image?
Ответ 1
ImageIcon реализует Serializable и его можно использовать для переноса класса Image
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/ImageIcon.html
Ответ 2
javax.swing.ImageIcon, как часть Swing, не гарантирует совместимость сериализованной формы между версиями. Однако вы можете обмануть и посмотреть на свой код readObject и writeObject - найти ширину и высоту, захватить пиксели с помощью PixelGrabber. Я не совсем уверен, что правильно покрывает цветовую модель. Очевидной альтернативой является запись реального формата изображения с помощью javax.imageio.
Ответ 3
Нет, о которых я знаю. Я считаю, что вам нужно написать свой собственный сериализатор, чтобы в принципе сохранить значения ширины, высоты и пикселя... Или записать его в поток как PNG или что-то.