개정판 3b938959
issue #000000 검색 수정
Change-Id: I7ac25e17a0b62f753c52f52b8a77b73bb3bbe2bf
KCOM/Common/MathHelper.cs | ||
---|---|---|
86 | 86 |
{ |
87 | 87 |
return new Rect(points.ToArray()[0],points.ToArray()[3]); |
88 | 88 |
} |
89 |
|
|
90 |
public static Rect CombineRects(List<Rect> rects) |
|
91 |
{ |
|
92 |
if (rects == null || rects.Count == 0) |
|
93 |
throw new ArgumentException("Rect list must not be null or empty."); |
|
94 |
|
|
95 |
if (rects.Count == 1) |
|
96 |
return rects[0]; |
|
97 |
|
|
98 |
// 초기화를 위해 첫 번째 Rect를 사용합니다. |
|
99 |
double minX = rects[0].Left; |
|
100 |
double minY = rects[0].Top; |
|
101 |
double maxX = rects[0].Right; |
|
102 |
double maxY = rects[0].Bottom; |
|
103 |
|
|
104 |
// 모든 Rect를 반복하면서 최소 및 최대 좌표를 찾습니다. |
|
105 |
foreach (Rect rect in rects) |
|
106 |
{ |
|
107 |
minX = Math.Min(minX, rect.Left); |
|
108 |
minY = Math.Min(minY, rect.Top); |
|
109 |
maxX = Math.Max(maxX, rect.Right); |
|
110 |
maxY = Math.Max(maxY, rect.Bottom); |
|
111 |
} |
|
112 |
|
|
113 |
// 계산된 최소 및 최대 좌표를 사용하여 새로운 Rect를 생성합니다. |
|
114 |
double width = maxX - minX; |
|
115 |
double height = maxY - minY; |
|
116 |
return new Rect(minX, minY, width, height); |
|
117 |
} |
|
89 | 118 |
} |
90 | 119 |
} |
내보내기 Unified diff