Пример #1
0
        internal double GetSquaredTransformedWidth(geom.AffineTransform coordsTransform)
        {
            geom.AffineTransform transform = _transform.NativeObject;
            double A = transform.getScaleX();                   // m00
            double B = transform.getShearY();                   // m10
            double C = transform.getShearX();                   // m01
            double D = transform.getScaleY();                   // m11

            double K = coordsTransform.getScaleX();             // m00
            double L = coordsTransform.getShearY();             // m10
            double M = coordsTransform.getShearX();             // m01
            double N = coordsTransform.getScaleY();             // m11

            double AD = A * D, BC = B * C, KN = K * N, LM = L * M;
            double KN_LM = KN - LM;

            return(Math.Abs(Width * Width * (AD * KN_LM - BC * KN_LM)));
        }