Esempio n. 1
0
        protected internal override void GenerateBound()
        {
            const float shearEpsilon = 0.01f;
            const float penMax       = 2f;

            Pen p = _pen.Content;

            //画笔的宽度较大时,转角长度会很长,需要特别计算Bound
            if (p != null && p.Width > penMax)
            {
                //存在倾斜,需要特别计算
                Bound = (Math.Abs(_shear) > shearEpsilon) ?
                        Calculation.GetPenAndMatrixBounds(BasePath, p, Matrix) : Calculation.GetPenBounds(Path, p);
            }
            else
            {
                base.GenerateBound();
            }
        }