public class Figure extends ObjectWithBounds
The figure. A container for shapes.
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 and Description |
---|
Figure() |
Modifier and Type | Method and Description |
---|---|
void |
addShape(Shape shape)
Adds a shape to the figure.
|
void |
addShapes(Shape[] shapes)
Adds a range of shapes to the figure.
|
RectangleF |
getBounds()
Gets or sets the object's bounds.
|
RectangleF |
getBounds(Matrix matrix)
Gets the object's bounds.
|
RectangleF |
getBounds(Matrix matrix,
Pen pen)
Gets the object's bounds.
|
ShapeSegment[] |
getSegments()
Gets the whole figure segments.
|
Shape[] |
getShapes()
Gets the figure shapes.
|
boolean |
isClosed()
Gets a value indicating whether this figure is closed.
|
void |
removeShape(Shape shape)
Removes a shape from the figure.
|
void |
removeShapes(Shape[] shapes)
Removes a range of shapes from the figure.
|
void |
reverse()
Reverses this figure shapes order and shapes point order.
|
void |
setClosed(boolean value)
Sets a value indicating whether this figure is closed.
|
void |
transform(Matrix transform)
Applies the specified transformation to the shape.
|
public Shape[] getShapes()
Gets the figure shapes.
public RectangleF getBounds()
Gets or sets the object's bounds.
getBounds
in class ObjectWithBounds
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.
True
if this figure is closed; otherwise, false
.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.
value
- True
if this figure is closed; otherwise, false
.public ShapeSegment[] getSegments()
Gets the whole figure segments.
public void addShape(Shape shape)
Adds a shape to the figure.
shape
- The shape to add.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(); }
public void addShapes(Shape[] shapes)
Adds a range of shapes to the figure.
shapes
- The shapes to add.public void removeShape(Shape shape)
Removes a shape from the figure.
shape
- The shape to remove.public void removeShapes(Shape[] shapes)
Removes a range of shapes from the figure.
shapes
- The shapes range to remove.public void reverse()
Reverses this figure shapes order and shapes point order.
public RectangleF getBounds(Matrix matrix)
Gets the object's bounds.
getBounds
in class ObjectWithBounds
matrix
- The matrix to apply before bounds will be calculated.public RectangleF getBounds(Matrix matrix, Pen pen)
Gets the object's bounds.
getBounds
in class ObjectWithBounds
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.public void transform(Matrix transform)
Applies the specified transformation to the shape.
transform
in class ObjectWithBounds
transform
- The transformation to apply.