如何最好地序列化java.awt.Image?

时间:2020-03-06 14:47:20  来源:igfitidea点击:

我有一个Serializable对象,该对象应该将java.awt.Image作为其成员。我应该如何进行序列化?
(抱歉,此版本是从不太清晰的第一个版本中编辑的。)

解决方案

我不知道。我相信我们需要为其编写自己的序列化程序,以基本上节省宽度,高度和像素值...或者将其作为PNG或者其他形式写入流中

ImageIcon实现了Serializable,可用于包装Image类

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/ImageIcon.html

作为Swing的一部分,javax.swing.ImageIcon不保证版本之间具有兼容的序列化形式。但是,我们可以作弊并查看其readObject和writeObject代码以找到宽度和高度,并使用PixelGrabber捕获像素。我不能完全确定是否正确涵盖了颜色模型。显而易见的替代方法是使用javax.imageio编写真实的图像格式。