根据 transfertype
类型基本数组设置指定 databuffer
中单个像素的数据。对于 componentsamplemodel
,设置的数据与 data 类型相同,且每个数组元素传输一个样本。
以下代码说明了如何将像素的数据从 databuffer
db1
(其存储布局由 componentsamplemodel
csm1
描述)传输到 databuffer
db2
(其存储布局由 componentsamplemodel
csm2
描述)。该传输通常比使用 getpixel
和 setpixel
更有效。
componentsamplemodel csm1, csm2;
databufferint db1, db2;
csm2.setdataelements(x, y, csm1.getdataelements(x, y, null, db1),
db2);
如果 samplemodel
对象具有相同数量的 band,相应 band 具有相同数量的每样本位数,并且 transfertype
相同,则使用 getdataelements
和 setdataelements
在两个 databuffer/samplemodel
对之间传输是合法的。
如果 obj
不是 transfertype
类型基本数组,则返回 classcastexception
。如果坐标不在边界内部,或者 obj
不足以保存像素数据,则抛出 arrayindexoutofboundsexception
。
- 指定者:
- 类
samplemodel
中的 setdataelements
- 参数:
x
- 像素位置的 x 坐标y
- 像素位置的 y 坐标obj
- 包含像素数据的基本数组data
- 包含图像数据的 databuffer- 另请参见:
getdataelements(int, int, object, databuffer)