如何构建存储图片的对象?

时间:2009-02-16 11:11:17

标签: java

如果您正在构建一个存储照片的对象(对于像photoshop这样的程序),您会如何设计它?您会考虑哪些属性?

3 个答案:

答案 0 :(得分:2)

我要考虑的一个主要问题是照片是否确实需要存储在对象中,或者您是否只需要指向文件,URL或数据库的链接。照片往往会占用大量内存,因此在实际需要显示之前,请将其保留在内存中,这可能是一个很好的设计。

除此之外,我会考虑某种任意标记机制,并查看JPEG中已存在的标记机制。

您可能希望查看EXIF,这是标记标准之一,可以获得有关属性的一些想法。然而,新的是随时发明的,所以不是为每种可能性赋予一个属性,更基本的基于Map的结构可能对你的对象更好。

答案 1 :(得分:0)

您应该考虑像素格式(分配了多少位以及如何分配)和颜色方案(RGB,RGBA,CYMK,...)。你还应该考虑是否将它完全存储在一个对象中,或者是否最好将它保存在磁盘上并在需要时进行交换(通常你不会在像Photoshop这样的程序中显示整个图像)因为图像可以很好大。

答案 2 :(得分:0)

正如@Nick建议的那样,您打算存储的某些信息可能已经可以通过EXIF标签信息获得,具体取决于您的文件格式。除此之外,在详细说明所述图像的属性之前,识别使用Image对象的上下文会很有帮助。

但是,我想到了一些一般的图像属性:

  • 标题
  • 关键字/搜索字符串
  • 描述
  • 作者信息
  • 创建日期
  • 文件格式
  • 宽度
  • 高度
  • 位置/源/ URL
  • dpi中的分辨率(水平/垂直)
  • 比特深度
  • 图层数
  • 颜色计数

......等等。