PointsFromImageSpaceToPageSpace(PointF[],Resolution) Метод (PdfPage)
В этом разделе
Преобразует точки из координатного пространства изображения в координатное пространство PDF страницы с учетом разрешения изображения, рамки обрезки PDF страницы, медиа-поля PDF страницы и поворота PDF страницы.
Синтаксис
Parameters
- points
- Предоставляет точки в пространстве координат изображения для преобразования; возвращает преобразованные точки в координатном пространстве PDF страницы.
- imageResolution
- Разрешение координатного пространства изображения.
Пример
Вот пример, показывающий, как преобразовать координаты прямоугольника из пространства координат изображения в пространство координат PDF страницы:
''' <summary>
''' Converts the rectangle from image space to page space.
''' </summary>
''' <param name="rect">Rectangle in image space.</param>
''' <param name="imageResolution">The image resolution.</param>
''' <param name="page">The PDF page.</param>
''' <returns><see cref="System.Drawing.RectangleF"/> structure in PDF page space.</returns>
Public Shared Function ConvertRectangleFromImageSpaceToPageSpace(rect As System.Drawing.RectangleF, imageResolution As Vintasoft.Imaging.Resolution, page As Vintasoft.Imaging.Pdf.Tree.PdfPage) As System.Drawing.RectangleF
' Rectangle -> PointF[]
Dim points As System.Drawing.PointF() = New System.Drawing.PointF() {rect.Location, New System.Drawing.PointF(rect.X + rect.Width, rect.Y + rect.Height)}
' ImageSpace -> PageSpace
page.PointsFromImageSpaceToPageSpace(points, imageResolution)
' Points -> RectangleF
Dim x0 As Single = System.Math.Min(points(0).X, points(1).X)
Dim y0 As Single = System.Math.Min(points(0).Y, points(1).Y)
Dim x1 As Single = System.Math.Max(points(0).X, points(1).X)
Dim y1 As Single = System.Math.Max(points(0).Y, points(1).Y)
Return New System.Drawing.RectangleF(x0, y0, x1 - x0, y1 - y0)
End Function
/// <summary>
/// Converts the rectangle from image space to page space.
/// </summary>
/// <param name="rect">Rectangle in image space.</param>
/// <param name="imageResolution">The image resolution.</param>
/// <param name="page">The PDF page.</param>
/// <returns><see cref="System.Drawing.RectangleF"/> structure in PDF page space.</returns>
public static System.Drawing.RectangleF ConvertRectangleFromImageSpaceToPageSpace(
System.Drawing.RectangleF rect,
Vintasoft.Imaging.Resolution imageResolution,
Vintasoft.Imaging.Pdf.Tree.PdfPage page)
{
// Rectangle -> PointF[]
System.Drawing.PointF[] points = new System.Drawing.PointF[] {
rect.Location,
new System.Drawing.PointF(rect.X + rect.Width, rect.Y + rect.Height) };
// ImageSpace -> PageSpace
page.PointsFromImageSpaceToPageSpace(points, imageResolution);
// Points -> RectangleF
float x0 = System.Math.Min(points[0].X, points[1].X);
float y0 = System.Math.Min(points[0].Y, points[1].Y);
float x1 = System.Math.Max(points[0].X, points[1].X);
float y1 = System.Math.Max(points[0].Y, points[1].Y);
return new System.Drawing.RectangleF(x0, y0, x1 - x0, y1 - y0);
}
Требования
Целевые платформы: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5
Смотрите также