Пример #1
0
        public override void DisplayActiveHandle(HalconDotNet.HWindow window)
        {
            //显示矩形
            window.DispRectangle2(rows[_activeHandleIdx], cols[_activeHandleIdx], _phi, 5, 5);

            //显示箭头
            if (_activeHandleIdx == 5)
            {
                window.DispArrow(_locateRow, _locateCol, _locateRow - (1.3 * _length1 * Math.Sin(_phi)), _locateCol + 1.3 * (_length1 * Math.Cos(_phi)), 2);
            }
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="window"></param>
        public override void Draw(HalconDotNet.HWindow window)
        {
            //ROI矩形
            window.DispRectangle2(_locateRow, _locateCol, _phi, _length1, _length2);

            for (int i = 0; i < _numHandles; i++)
            {
                //ROI矩形的操作柄
                window.DispRectangle2(rows[i].D, cols[i].D, _phi, 5, 5);
            }

            //注:矩形右边的中点坐标(_locateRow-_length1*Sine(angle),_locateCol+_length2*Cosine(angle)),为使箭头超出一点,故而用系数1.3修正
            window.DispArrow(_locateRow, _locateCol, _locateRow - (1.3 * _length1 * Math.Sin(_phi)), _locateCol + 1.3 * (_length1 * Math.Cos(_phi)), 2);
        }