【问题标题】:What is the reason for the Java DataBuffer class?Java DataBuffer 类的原因是什么?
【发布时间】:2014-07-30 10:19:21
【问题描述】:

当我准备研究Java中BufferedImage类的内部实现时,我遇到了DataBuffer。 DataBuffer 最终用于保存空白图像数据,只能通过相关的ColorModelSampleModel 实现来解释。但是,我不明白 DataBuffer 的真正用途,除了它用一些读写助手包装相同类型的数组。

【问题讨论】:

    标签: java swing awt bufferedimage


    【解决方案1】:

    DataBuffer 是一个抽象,因此BufferedImage 不需要了解实际的像素存储。

    像素通常存储在数组中,但它可以是单个打包或交错数组,也可以是单个或多个带状数组。将其与支持的传输类型的数量相乘,您会发现有很多不同的情况需要处理。将其委托给专门的实现是很有意义的,并且避免了解 BufferedImage 本身中的所有这些不同类型。

    但它甚至不必是一个数组。例如,我已经成功实现了由 nio ByteBuffers 和内存映射文件支持的 DataBuffers。

    【讨论】:

      猜你喜欢
      • 2010-10-31
      • 2017-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 2016-09-01
      • 2011-12-04
      • 2011-08-29
      相关资源
      最近更新 更多