VintaSoft Imaging .NET SDK 14.0: Документация для .NET разработчика
Vintasoft.Imaging.Pdf.Tree Namespace / PdfPage Class / PointsFromImageSpaceToPageSpace(PointF[],Resolution) Method
Синтаксис Example Требования Смотрите также
В этом разделе
    PointsFromImageSpaceToPageSpace(PointF[],Resolution) Метод (PdfPage)
    В этом разделе
    Преобразует точки из координатного пространства изображения в координатное пространство PDF страницы с учетом разрешения изображения, рамки обрезки PDF страницы, медиа-поля PDF страницы и поворота PDF страницы.
    Синтаксис
    'Declaration
    
    Public Sub PointsFromImageSpaceToPageSpace( _
    ByVal points
    Предоставляет точки в пространстве координат изображения для преобразования; возвращает преобразованные точки в координатном пространстве PDF страницы.
    () As System.Drawing.PointF, _
    ByVal imageResolution
    Разрешение координатного пространства изображения.
    As Vintasoft.Imaging.Resolution _
    )
    public void PointsFromImageSpaceToPageSpace(
    System.Drawing.PointF[] points,
    Vintasoft.Imaging.Resolution imageResolution
    )
    public: void PointsFromImageSpaceToPageSpace(
    System.Drawing.PointF[]* points,
    Vintasoft.Imaging.Resolution imageResolution
    )
    public:
    void PointsFromImageSpaceToPageSpace(
    array<System.Drawing.PointF>^ points,
    Vintasoft.Imaging.Resolution imageResolution
    )

    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

    Смотрите также