PathResourceConverter

Inheritance: java.lang.Object

public final class PathResourceConverter

Konvertiert PathResource zu GraphicsPath und umgekehrt.

Methoden

MethodeBeschreibung
toGraphicsPath(PathResource[] pathResources, Size imageSize)Konvertiert Pfadressourcen in die GraphicsPath Instanz.
fromGraphicsPath(GraphicsPath graphicsPath, Size imageSize)Konvertiert die GraphicsPath Instanz zu Pfadressourcen.

Example: Create Graphics Path from Path Resources in TIFF image.

try (TiffImage image = (TiffImage)Image.load("Bottle.tif"))
{
    // Erstellen Sie den GraphicsPath mithilfe von PathResources aus einem TIFF-Bild
    GraphicsPath graphicsPath = PathResourceConverter.toGraphicsPath(
            image.getActiveFrame().getPathResources().toArray(new PathResource[0]), 
            image.getActiveFrame().getSize());
    Graphics graphics = new Graphics(image);

    // Zeichnen Sie eine rote Linie und speichern Sie das Bild
    graphics.drawPath(new Pen(Color.getRed(), 10), graphicsPath);
    image.save("BottleWithRedBorder.tif");
}

Example: Create Path Resources using Graphics Path.

static void main()
{
    try (TiffImage image = (TiffImage)Image.load("Bottle.tif"))
    {
        // Erstellen Sie eine rechteckige Figure für den GraphicsPath
        Figure figure = new Figure();
        figure.addShape(createBezierShape(100f, 100f, 500f, 100f, 500f, 1000f, 100f, 1000f));

        // Erstellen Sie den GraphicsPath mithilfe unserer Figure
        GraphicsPath graphicsPath = new GraphicsPath();
        graphicsPath.addFigure(figure);

        // Setzen Sie PathResources mithilfe des GraphicsPath
        PathResource[] pathResource = PathResourceConverter.fromGraphicsPath(graphicsPath, image.getSize());
        image.getActiveFrame().setPathResources(Arrays.asList(pathResource));

        // Speichern Sie das Bild
        image.save("BottleWithRectanglePath.tif");
    }
}

private static BezierShape createBezierShape(float ... coordinates)
{
    PointF[] bezierPoints = coordinatesToBezierPoints(coordinates);
    return new BezierShape(bezierPoints, true);
}

private static PointF[] coordinatesToBezierPoints(float[] coordinates)
{
    PointF[] bezierPoints = new PointF[3 * coordinates.length / 2];
    int i = 0;
    for (int coordinateIndex = 0; coordinateIndex < coordinates.length - 1; coordinateIndex += 2)
        for (int index = 0; index < 3; index++)
        {
            bezierPoints[i++] = new PointF(coordinates[coordinateIndex], coordinates[coordinateIndex + 1]);
        }
                
    return bezierPoints;
}

toGraphicsPath(PathResource[] pathResources, Size imageSize)

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

Konvertiert Pfadressourcen in die GraphicsPath Instanz.

Parameters:

ParameterTypBeschreibung
pathResourcesPathResource[]Die Pfadressourcen.
imageSizeSizeGröße des Bildes.

Returns: GraphicsPath - The GraphicsPath instance.

fromGraphicsPath(GraphicsPath graphicsPath, Size imageSize)

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

Konvertiert die GraphicsPath Instanz zu Pfadressourcen.

Parameters:

ParameterTypBeschreibung
graphicsPathGraphicsPathDer Grafikpfad.
imageSizeSizeGröße des Bildes.

Returns: com.aspose.imaging.fileformats.tiff.pathresources.PathResource[] - Die Pfadressourcen.