コード例 #1
0
        static void Main(string[] args)
        {
            RotatedRect rotatedRect = new RotatedRect(new Point2f(100f, 100f), new Size2f(100, 100), 45f);

            Console.WriteLine(rotatedRect.BoundingRect());
            Console.WriteLine(rotatedRect.Points().Length);
            Console.WriteLine(rotatedRect.Points()[0]);
        }
コード例 #2
0
        /// <summary>Повёрнутый прямоугольник в обычный с отслеживанием чтобы он не вышел за границы матрицы</summary>
        /// <param name="s">Преобразуемый RotatedRect</param>
        /// <returns>Rect, преобразованный из RotatedRect</returns>
        private Rect ToRect(RotatedRect s)
        {
            var rect = s.BoundingRect();

            if (rect.X < 0)
            {
                rect.Width += rect.X;
                rect.X      = 0;
            }

            if (rect.Y < 0)
            {
                rect.Height += rect.Y;
                rect.Y       = 0;
            }

            return(rect);
        }