根据 transfertype 类型的基本数组设置指定 databuffer 中像素矩形的数据。对于 java 2d api 所支持的图像数据,这将是 databuffer.type_byte、databuffer.type_各位大虾,为什么我的java程序能通过编译,但是在用java命令运行程序的时候却老是报错“Exception in thread "main" java.lang.NoClassDe
iis7站长之家、databuffer.type_int、databuffer.type_short、databuffer.type_float 或 databuffer.type_double 中的一个。数组中的数据可以是压缩格式,从而提高数据传输的效率。
以下代码说明了如何将一个像素的数据从 databuffer db1
(其存储布局由 samplemodel sm1
描述)传输到 databuffer db2
(其存储布局由 samplemodel sm2
描述)。该传输通常比使用 getpixels/setpixels 更有效。
samplemodel sm1, sm2;
databuffer db1, db2;
sm2.setdataelements(x, y, w, h, sm1.getdataelements(x, y, w, h,
null, db1), db2);
如果两个 samplemodel 具有相同的 band 数量,相应 band 的每个样本具有相同的位数,且 transfertype 相同,则使用 getdataelements/setdataelements 在两个 databuffer/samplemodel 对之间进行传输是合法的。
obj 必须是 transfertype 类型的基本数组。否则抛出 classcastexception。如果坐标不在边界内,或者 obj 的大小不足以容纳像素数据,则抛出 arrayindexoutofboundsexception。
- 参数:
x
- 像素矩形的最小 x 坐标。y
- 像素矩形的最小 y 坐标。w
- 像素矩形的宽度。h
- 像素矩形的高度。obj
- 包含像素数据的基本数组。data
- 包含图像数据的 databuffer。
- 抛出:
nullpointerexception
- 如果 data 为 null。
arrayindexoutofboundsexception
- 如果坐标不在边界内,或者 obj 太小而不能容纳输入。- 另请参见:
getnumdataelements()
,
gettransfertype()
,
getdataelements(int, int, int, int, object, databuffer)
,
databuffer