返回 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)