将像素从 raster srcraster 复制到此 writableraster。srcraster 中的每个像素被复制到此光栅的相同的 x,y 地址,除非地址位于此光栅边界的外部。srcraster 必须具有与此 writableraster 相同的 band 数。这是从源样本到对应的目标样本的简单复制。
如果源 raster 和目标 raster 的所有样本都是整型,且大小小于等于 32 位,则调用此方法等价于对源 raster 和目标 raster 中所有有效的 x,y
地址执行以下代码。
raster srcraster;
writableraster dstraster;
for (int b = 0; b < srcraster.getnumbands(); b++) {
dstraster.setsample(x, y, b, srcraster.getsample(x, y, b));
}
因此,当将整型的源复制到整型的目标时,如果对于特定的 band 源样本大小大于目标样本大小,则源样本的高位将被截断。如果特定 band 的源样本大小小于目标样本大小,则根据 srcraster 的 samplemodel 是将样本作为有符号的量还是无符号的量,对目标样本的高位进行零扩展或符号扩展。
当从一个 float 型或 double 型的源复制到整型的目标时,每个源样本强制转换为目标类型。当从整形的源复制到 float 型或 double 型的目标时,源首先使用上面的整型转换规则转换为 32-位的 int(如果需要的话),然后此 int 强制转换为 float 型或 double 型。
- 参数:
srcraster
- 从其复制像素的 raster。
- 抛出:
nullpointerexception
- 如果 srcraster 为 null。