Class PathResourceConverter

Class PathResourceConverter

Namespace: Aspose.Imaging.FileFormats.Tiff.PathResources
Assembly: Aspose.Imaging.dll (26.4.0)

Converts Aspose.Imaging.FileFormats.Tiff.PathResources.PathResource to Aspose.Imaging.GraphicsPath and vice versa.

public static class PathResourceConverter

Inheritance

object PathResourceConverter

Inherited Members

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Create Graphics Path from Path Resources in TIFF image.

using (var image = (TiffImage)Image.Load("Bottle.tif"))
{
    // Create the GraphicsPath using PathResources from TIFF image
    var graphicsPath = PathResourceConverter.ToGraphicsPath(image.ActiveFrame.PathResources.ToArray(), image.ActiveFrame.Size);
    var graphics = new Graphics(image);

    // Draw red line and save the image
    graphics.DrawPath(new Pen(Color.Red, 10), graphicsPath);
    image.Save("BottleWithRedBorder.tif");
}

Create Path Resources using Graphics Path.

static void Main(string[] args)
{
    using (var image = (TiffImage)Image.Load("Bottle.tif"))
    {
        // Create rectangular Figure for GraphicsPath
        var figure = new Figure();
        figure.AddShape(CreateBezierShape(100f, 100f, 500f, 100f, 500f, 1000f, 100f, 1000f));

        // Create GraphicsPath using our Figure
        var graphicsPath = new GraphicsPath();
        graphicsPath.AddFigure(figure);

        // Set PathResources using GraphicsPath
        var pathResouze = PathResourceConverter.FromGraphicsPath(graphicsPath, image.Size);
        image.ActiveFrame.PathResources = new List<PathResource>(pathResouze);

        // Save the image
        image.Save("BottleWithRectanglePath.tif");
    }
}

private static BezierShape CreateBezierShape(params float[] coordinates)
{
    var bezierPoints = CoordinatesToBezierPoints(coordinates).ToArray();
    return new BezierShape(bezierPoints, true);
}

private static IEnumerable<PointF> CoordinatesToBezierPoints(float[] coordinates)
{
    for (var coordinateIndex = 0; coordinateIndex < coordinates.Length; coordinateIndex += 2)
        for (var index = 0; index < 3; index++)
            yield return new PointF(coordinates[coordinateIndex], coordinates[coordinateIndex + 1]);
}

Methods

FromGraphicsPath(GraphicsPath, Size)

Converts the Aspose.Imaging.GraphicsPath instance to path resources.

public static PathResource[] FromGraphicsPath(GraphicsPath graphicsPath, Size imageSize)

Parameters

graphicsPath GraphicsPath

The graphics path.

imageSize Size

Size of the image.

Returns

PathResource []

The path resources.

Exceptions

ArgumentNullException

graphicsPath is null.

ToGraphicsPath(PathResource[], Size)

Converts path resources to the Aspose.Imaging.GraphicsPath instance.

public static GraphicsPath ToGraphicsPath(PathResource[] pathResources, Size imageSize)

Parameters

pathResources PathResource []

The path resources.

imageSize Size

Size of the image.

Returns

GraphicsPath

The Aspose.Imaging.GraphicsPath instance.

Exceptions

ArgumentNullException

pathResources is null.

 English