我在transform
库的类found的PerspectiveTransform
方法中JAI
以下代码:
public void transform(double[] srcPts, int srcOff,
double[] dstPts, int dstOff,
int numPts) {
if ( srcPts == null ) {
throw new IllegalArgumentException(JaiI18N.getString("Generic0"));
}
if (dstPts == null) {
dstPts = new double[numPts * 2 + dstOff];
}
while (numPts-- > 0) {
double x = srcPts[srcOff++];
double y = srcPts[srcOff++];
double w = m20 * x + m21 * y + m22;
if (w == 0) {
dstPts[dstOff++] = x;
dstPts[dstOff++] = y;
} else {
dstPts[dstOff++] = (m00 * x + m01 * y + m02) / w;
dstPts[dstOff++] = (m10 * x + m11 * y + m12) / w;
}
}
}
看起来如果
dstPts
是null
,则创建新数组。但是这个数组不会返回到外面,不是吗? 最佳答案
是的,如果那是实际的代码。我想人们在使用该方法时不会将null作为参数传递,但是即使如此,这也是一个错误。