以 transfertype 类型基本数组形式返回单个像素的数据。对于 componentsamplemodel,返回的数据与 data 类型相同,且每个数组元素返回一个样本。通常,obj 应该作为 null 传入,以便 object 能自动创建并成为正确的基本数据类型。
以下代码说明了如何将像素的数据从 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 不为 null,则它应该是 transfertype 类型的基本数组。否则,将抛出 classcastexception。如果坐标不在边界内部,或者 obj 不为 null 且不足以保存像素数据,则抛出 arrayindexoutofboundsexception。
- 指定者:
- 类
samplemodel 中的 getdataelements
- 参数:
x - 像素位置的 x 坐标y - 像素位置的 y 坐标obj - 如果为非 null,则是一个要在其中返回像素数据的基本数组data - 包含图像数据的 databuffer
- 返回:
- 指定像素的数据
- 抛出:
nullpointerexception - 如果数据为 null。
arrayindexoutofboundsexception - 如果坐标不在边界内部,或者 obj 太小而不能保存输出。- 另请参见:
setdataelements(int, int, object, databuffer)