프로젝트

일반

사용자정보

통계
| 브랜치(Branch): | 개정판:

markus / MarkupToPDF / Common / CommentMath.cs @ 30c2742e

이력 | 보기 | 이력해설 | 다운로드 (1.34 KB)

1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Threading.Tasks;
6
using System.Windows;
7

    
8
namespace MarkupToPDF.Common
9
{
10
    public static class CommentMath
11
    {
12
        public static System.Windows.Rect CalculateBoundingRect(List<Point> points)
13
        {
14
            if (points.Count == 0)
15
                throw new ArgumentException("Points list must not be empty.");
16

    
17
            // 초기화를 위해 첫 번째 좌표를 사용합니다.
18
            double minX = points[0].X;
19
            double minY = points[0].Y;
20
            double maxX = points[0].X;
21
            double maxY = points[0].Y;
22

    
23
            // 모든 좌표를 반복하면서 최소 및 최대 X 및 Y를 찾습니다.
24
            foreach (Point point in points)
25
            {
26
                if (point.X < minX)
27
                    minX = point.X;
28
                if (point.Y < minY)
29
                    minY = point.Y;
30
                if (point.X > maxX)
31
                    maxX = point.X;
32
                if (point.Y > maxY)
33
                    maxY = point.Y;
34
            }
35

    
36
            // 계산된 최소 및 최대 좌표를 사용하여 사각형(Rectangle)을 생성합니다.
37
            double width = maxX - minX;
38
            double height = maxY - minY;
39
            return new Rect(minX, minY, width, height);
40
        }
41
    }
42
}
클립보드 이미지 추가 (최대 크기: 500 MB)