Packages

 

com.aspose.imaging

Interfaces

Classes

Exceptions

com.aspose.imaging

Class Figure



  • public class Figure
    extends ObjectWithBounds

    The figure. A container for shapes.

    Code example:

    This examples make use of GraphicsPath and Graphics class to create and manipulate Figures on an Image surface. Example creates a new Image (of type Tiff) and draw paths with the help of GraphicsPath class. At the end DrawPath method exposed by Graphics class is called to render the paths on surface.


    // Create an instance of FileStream
    com.aspose.imaging.system.io.FileStream stream = new com.aspose.imaging.system.io.FileStream("C:\\temp\\output.tif", com.aspose.imaging.system.io.FileMode.Create);
    try {
        // Create an instance of TiffOptions and set its various properties
        com.aspose.imaging.imageoptions.TiffOptions tiffOptions = new com.aspose.imaging.imageoptions.TiffOptions(com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat.Default);
    
        // Set the source for the instance of ImageOptions
        tiffOptions.setSource(new com.aspose.imaging.sources.StreamSource(stream));
    
        // Create an instance of Image
        com.aspose.imaging.Image image = com.aspose.imaging.Image.create(tiffOptions, 500, 500);
        try {
            // Create and initialize an instance of Graphics class
            com.aspose.imaging.Graphics graphics = new com.aspose.imaging.Graphics(image);
    
            // Clear Graphics surface
            graphics.clear(com.aspose.imaging.Color.getWheat());
    
            // Create an instance of GraphicsPath class
            com.aspose.imaging.GraphicsPath graphicspath = new com.aspose.imaging.GraphicsPath();
    
            // Create an instance of Figure class
            com.aspose.imaging.Figure figure = new com.aspose.imaging.Figure();
    
            // Add Shapes to Figure object
            figure.addShape(new com.aspose.imaging.shapes.RectangleShape(new com.aspose.imaging.RectangleF(10, 10, 300, 300)));
            figure.addShape(new com.aspose.imaging.shapes.EllipseShape(new com.aspose.imaging.RectangleF(50, 50, 300, 300)));
            figure.addShape(
                    new com.aspose.imaging.shapes.PieShape(new com.aspose.imaging.RectangleF(
                            new com.aspose.imaging.PointF(250, 250),
                            new com.aspose.imaging.SizeF(200, 200)),
                            0, 45));
    
            // Add Figure object to GraphicsPath
            graphicspath.addFigure(figure);
    
            // Draw path with Pen object of color Black
            graphics.drawPath(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlack(), 2), graphicspath);
    
            // Save all changes.
            image.save();
        } finally {
            image.dispose();
        }
    } finally {
        stream.dispose();
    }
    

    • Constructor Detail

      • Figure

        public Figure()
    • Method Detail

      • getShapes

        public Shape[] getShapes()

        Gets the figure shapes.

        Returns:
        The figure shapes.
      • isClosed

        public boolean isClosed()

        Gets a value indicating whether this figure is closed. A closed figure will make a difference only in case where the first and the last figure's shapes are continuous shapes. In such case the first point of the first shape will be connected by a straight line from the last point of the last shape.

        Returns:
        True if this figure is closed; otherwise, false.
      • setClosed

        public void setClosed(boolean value)

        Sets a value indicating whether this figure is closed. A closed figure will make a difference only in case where the first and the last figure's shapes are continuous shapes. In such case the first point of the first shape will be connected by a straight line from the last point of the last shape.

        Parameters:
        value - True if this figure is closed; otherwise, false.
      • getSegments

        public ShapeSegment[] getSegments()

        Gets the whole figure segments.

        Returns:
        The figure segments.
      • addShape

        public void addShape(Shape shape)

        Adds a shape to the figure.

        Parameters:
        shape - The shape to add.
        Code example:

        This examples make use of GraphicsPath and Graphics class to create and manipulate Figures on an Image surface. Example creates a new Image (of type Tiff) and draw paths with the help of GraphicsPath class. At the end DrawPath method exposed by Graphics class is called to render the paths on surface.


        // Create an instance of FileStream
        com.aspose.imaging.system.io.FileStream stream = new com.aspose.imaging.system.io.FileStream("C:\\temp\\output.tif", com.aspose.imaging.system.io.FileMode.Create);
        try {
            // Create an instance of TiffOptions and set its various properties
            com.aspose.imaging.imageoptions.TiffOptions tiffOptions = new com.aspose.imaging.imageoptions.TiffOptions(com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat.Default);
        
            // Set the source for the instance of ImageOptions
            tiffOptions.setSource(new com.aspose.imaging.sources.StreamSource(stream));
        
            // Create an instance of Image
            com.aspose.imaging.Image image = com.aspose.imaging.Image.create(tiffOptions, 500, 500);
            try {
                // Create and initialize an instance of Graphics class
                com.aspose.imaging.Graphics graphics = new com.aspose.imaging.Graphics(image);
        
                // Clear Graphics surface
                graphics.clear(com.aspose.imaging.Color.getWheat());
        
                // Create an instance of GraphicsPath class
                com.aspose.imaging.GraphicsPath graphicspath = new com.aspose.imaging.GraphicsPath();
        
                // Create an instance of Figure class
                com.aspose.imaging.Figure figure = new com.aspose.imaging.Figure();
        
                // Add Shapes to Figure object
                figure.addShape(new com.aspose.imaging.shapes.RectangleShape(new com.aspose.imaging.RectangleF(10, 10, 300, 300)));
                figure.addShape(new com.aspose.imaging.shapes.EllipseShape(new com.aspose.imaging.RectangleF(50, 50, 300, 300)));
                figure.addShape(
                        new com.aspose.imaging.shapes.PieShape(new com.aspose.imaging.RectangleF(
                                new com.aspose.imaging.PointF(250, 250),
                                new com.aspose.imaging.SizeF(200, 200)),
                                0, 45));
        
                // Add Figure object to GraphicsPath
                graphicspath.addFigure(figure);
        
                // Draw path with Pen object of color Black
                graphics.drawPath(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlack(), 2), graphicspath);
        
                // Save all changes.
                image.save();
            } finally {
                image.dispose();
            }
        } finally {
            stream.dispose();
        }
        

      • addShapes

        public void addShapes(Shape[] shapes)

        Adds a range of shapes to the figure.

        Parameters:
        shapes - The shapes to add.
      • removeShape

        public void removeShape(Shape shape)

        Removes a shape from the figure.

        Parameters:
        shape - The shape to remove.
      • removeShapes

        public void removeShapes(Shape[] shapes)

        Removes a range of shapes from the figure.

        Parameters:
        shapes - The shapes range to remove.
      • reverse

        public void reverse()

        Reverses this figure shapes order and shapes point order.

      • getBounds

        public RectangleF getBounds(Matrix matrix)

        Gets the object's bounds.

        Specified by:
        getBounds in class ObjectWithBounds
        Parameters:
        matrix - The matrix to apply before bounds will be calculated.
        Returns:
        The estimated object's bounds.
      • getBounds

        public RectangleF getBounds(Matrix matrix,
                                    Pen pen)

        Gets the object's bounds.

        Specified by:
        getBounds in class ObjectWithBounds
        Parameters:
        matrix - The matrix to apply before bounds will be calculated.
        pen - The pen to use for object. This can influence the object's bounds size.
        Returns:
        The estimated object's bounds.
      • transform

        public void transform(Matrix transform)

        Applies the specified transformation to the shape.

        Specified by:
        transform in class ObjectWithBounds
        Parameters:
        transform - The transformation to apply.