返回 transfertype 类型基本数组中单个像素的数据。对于 multipixelpackedsamplemodel,该数组有一个元素,类型为可保存单个像素的 databuffer.type_byte、databuffer.type_ushort 或 databuffer.type_int 中的最小值。通常,obj 作为 null 传入,从而 object 将被自动创建,并具有正确的基本数据类型。
以下代码说明了如何将一个像素的数据从 databuffer db1(其存储布局由 multipixelpackedsamplemodel mppsm1 描述)传输到 databuffer db2(其存储布局由 multipixelpackedsamplemodel mppsm2 描述)。该传输通常比使用 getpixel 或 setpixel 更为高效。
multipixelpackedsamplemodel mppsm1, mppsm2;
databufferint db1, db2;
mppsm2.setdataelements(x, y, mppsm1.getdataelements(x, y, null,
db1), db2);
如果两个 samplemodel 具有相同的 band 数,相应的 band 具有相同的每样本位数,并且 transfertype 也相同,则使用 getdataelements 或 setdataelements 在两个 databuffer/samplemodel 对之间进行传输是合法的。
如果 obj 不为 null,则它应是一个 transfertype 类型的基本数组。否则将抛出 getpixel
iis7站长之家。如果坐标超出了范围,或者 obj 不为 null 并且其大小不足以保存该像素数据,则抛出 arrayindexoutofboundsexception。
- 指定者:
- 类
samplemodel 中的 getdataelements
- 参数:
x - 指定像素的 x 坐标y - 指定像素的 y 坐标obj - 一个基本数组,像素数据将返回到该数组中;或者为 null。data - 包含图像数据的 databuffer。
- 返回:
- 包含指定像素数据的
object。
- 抛出:
classcastexception - 如果 obj 不是 transfertype 类型的基本数组,或者不为 null
arrayindexoutofboundsexception - 如果坐标超出了范围,或者 obj 不为 null 或其大小不足以保存该像素数据- 另请参见:
setdataelements(int, int, object, databuffer)