개정판 30c2742e
ISSUE #00000 MarkupToPDF/Common/CommentMath.cs MarkupToPDF/ICommentRect.cs 파일 추가
Change-Id: I84be5e756091d67193a3ec2a5899f5ae5a753802
MarkupToPDF/Common/CommentMath.cs | ||
---|---|---|
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 |
} |
MarkupToPDF/ICommentRect.cs | ||
---|---|---|
1 |
using System; |
|
2 |
using System.Collections.Generic; |
|
3 |
using System.Linq; |
|
4 |
using System.Text; |
|
5 |
using System.Threading.Tasks; |
|
6 |
|
|
7 |
namespace MarkupToPDF |
|
8 |
{ |
|
9 |
public interface ICommentRect |
|
10 |
{ |
|
11 |
System.Windows.Rect GetCommentRect(); |
|
12 |
} |
|
13 |
} |
내보내기 Unified diff