我在transform库的类foundPerspectiveTransform方法中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;
            }
        }
    }


看起来如果dstPtsnull,则创建新数组。但是这个数组不会返回到外面,不是吗?

最佳答案

是的,如果那是实际的代码。我想人们在使用该方法时不会将null作为参数传递,但是即使如此,这也是一个错误。

07-25 20:30