[英]What is the reason for the Java DataBuffer class?
當我要研究Java中BufferedImage類的內部實現時,遇到了DataBuffer 。 最后使用DataBuffer保存空白圖像數據,該數據只能用相關的ColorModel和SampleModel實現來解釋。 但是,除了事實之外,我不了解DataBuffer的真正用途,因為它用一些讀寫助手包裝了相同類型的數組。
DataBuffer
是一個抽象,因此BufferedImage
不需要了解實際的像素存儲。
像素通常存儲在陣列中,但是可以是單個打包或交錯的陣列,也可以是單個或多個帶狀陣列。 將其乘以支持的傳輸類型的數量,您將看到有很多不同的情況需要處理。 將其委托給專門的實現很有意義,並且避免對BufferedImage
本身了解所有這些不同類型。
但這甚至根本不必是數組。 例如,我已經成功實現了由nio ByteBuffer
和內存映射文件支持的DataBuffer
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.