根据 transfertype 类型的基本数组设置指定 databuffer 中单个像素的数据。对于 singlepixelpackedsamplemodel,只有数组的第一个元素将保存有效值,且数组类型必须与 singlepixelpackedsamplemodel 的存储数据类型相同。
以下代码说明了如何将一个像素的数据从 databuffer db1
(其存储布局由 singlepixelpackedsamplemodel sppsm1
描述)传输到 databuffer db2
(其存储布局由 singlepixelpackedsamplemodel sppsm2
描述)。该传输通常比使用 getpixel/setpixel 更有效。
singlepixelpackedsamplemodel sppsm1, sppsm2;
databufferint db1, db2;
sppsm2.setdataelements(x, y, sppsm1.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)