SampleModel (Java 2 Platform SE 5.0)

本文介绍了Java 2D API中的SampleModel类,该类定义了用于从图像中提取像素样本的接口。SampleModel及其子类能够描述各种样本类型及样本在内存中的布局方式。文章还介绍了如何利用SampleModel与DataBuffer交互以实现高效的图像处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaTM 2 Platform
Standard Ed. 5.0

java.awt.image
Class SampleModel

java.lang.Object
  java.awt.image.SampleModel
Direct Known Subclasses:
ComponentSampleModel, MultiPixelPackedSampleModel, SinglePixelPackedSampleModel

public abstract class SampleModel
   
   
    
    extends 
    
    Object
   
   
 

这个抽象类为提取图像中像素的采样定义了一个接口。所有图像数据可以表示为一个像素的集合。每个像素由许多采样组成。对于图像里的波段,一个采样是其中的一个基本值,并且波段由图像中所有特定类型的采样组成。例如,一个像素可能3个采样来表现它的红、绿、蓝成分,那么图像里就会用3个波段来容纳这个像素。第一个波段由图像所有像素中的所有红色采样组成;第二个波段由所有绿色采样组成;最后一个波段由所有蓝色采样组成。像素可以使用多种格式储存。例如,特定波段的所有采样可以连续的存储或者单个像素的所有采样可以连续地存储。

SampleModel的子类指定了它们可以描述的取样类型(例如,无符号8-bit字节, 有符号16-bit短整等等),并且也可以说明采样在内存中的是怎么组织的。在Java 2D(tm) API里,内置的图像处理操作类不可能对所有可能出现的采样类型进行操作,但是一般情况下,需要处理的采样是16位或者更少的无符号整型。有一些操作支持更广泛的多种多样的采样类型。

像素的集合被描述为Raster,由一个DataBuffer和一个SampleModel组成。SampleModel允许存取DataBuffer中的采样并能提供底层信息,开发人员可以用这些信息直接操作DataBuffer的采样和像素。

一般说来,这个类是一种落后的处理图像的方法。更有效率的代码会铸造SampleModel到合适的子类,提取所需的信息直接操作DataBuffer中的像素。

 

参见:
DataBuffer, Raster, ComponentSampleModel, PixelInterleavedSampleModel, BandedSampleModel, MultiPixelPackedSampleModel, SinglePixelPackedSampleModel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值