SvgGraphics2D

Inheritance: java.lang.Object

public class SvgGraphics2D

Provides drawing commands to compose an Svg image.

Constructors

ConstructorDescription
SvgGraphics2D(int width, int height, int dpi)Initializes a new instance of the SvgGraphics2D class.
SvgGraphics2D(SvgImage image)Initializes a new instance of the SvgGraphics2D class.

Methods

MethodDescription
drawImage(RasterImage image, Point origin)Draws the specified image at the specified location.
drawImage(RasterImage image, Point origin, Size size)Draws the specified image of the specified size at the specified location.
drawImage(Rectangle srcRect, Rectangle destRect, RasterImage image)Draws the specified portion of the specified image at the specified location and with the specified size.
drawArc(Pen pen, Rectangle rect, float startAngle, float arcAngle)Draws an arc representing a portion of an ellipse specified by a Rectangle structure.
fillArc(Pen pen, Brush brush, Rectangle rect, float startAngle, float arcAngle)Fills an arc representing a portion of an ellipse specified by a Rectangle structure.
drawCubicBezier(Pen pen, PointF pt1, PointF pt2, PointF pt3, PointF pt4)Draws the cubic bezier.
drawString(Font font, String text, Point origin, Color textColor)Draws the text string.
drawLine(Pen pen, int x1, int y1, int x2, int y2)Draws the line.
drawPath(Pen pen, GraphicsPath path)Draws the path.
fillPath(Pen pen, Brush brush, GraphicsPath path)Fills the path.
drawRectangle(Pen pen, int x, int y, int width, int height)Draws the rectangle.
fillRectangle(Pen pen, Brush brush, int x, int y, int width, int height)Fills the rectangle.
endRecording()Gets the final Svg image which includes all drawing commands performed via SvgGraphics2D object.

Example: This example shows how to create an SVG image of the specified size and draw different shapes on it using SvgGraphics2D.

String dir = "c:\\temp\\";

int imageWidth = 600;
int imageHeight = 400;
int dpi = 96;

com.aspose.imaging.fileformats.svg.graphics.SvgGraphics2D graphics = new com.aspose.imaging.fileformats.svg.graphics.SvgGraphics2D(imageWidth, imageHeight, dpi);

// Draw a black rectangle along the image borders using a 1-pixel-wide black pen.
graphics.drawRectangle(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlack(), 1), 0, 0, imageWidth, imageHeight);

// Fill a rectangle with the color of white-smoke.
graphics.fillRectangle(
        new com.aspose.imaging.Pen(com.aspose.imaging.Color.getWhiteSmoke(), 1),
        new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getWhiteSmoke()), 10, 10, 580, 380);

// Draw two diagonal lines using a 1-pixel-wide darkgreen pen.
graphics.drawLine(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getDarkGreen(), 1), 0, 0, imageWidth, imageHeight);
graphics.drawLine(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getDarkGreen(), 1), 0, imageHeight, imageWidth, 0);

// Draw an arc within the rectangle {0, 0, 200, 200} using a 2-pixel-wide blue pen.
graphics.drawArc(
        new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlue(), 2),
        new com.aspose.imaging.Rectangle(0, 0, 200, 200), 90, 270);

// Fill an arc
graphics.fillArc(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getLightCoral(), 10),
        new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getLightSkyBlue()),
        new com.aspose.imaging.Rectangle(0, 0, 150, 150), 90, 270);

// Draw a cubic bezier using a 2-pixel-wide red pen.
graphics.drawCubicBezier(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getRed(), 2),
        new com.aspose.imaging.PointF(0, 0),
        new com.aspose.imaging.PointF(200, 133),
        new com.aspose.imaging.PointF(400, 166),
        new com.aspose.imaging.PointF(600, 400));

// Draw a raster image of the specified size at the specified location.
// The image is scaled to fit the desired rectangle.
com.aspose.imaging.RasterImage imageToDraw = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
    graphics.drawImage(imageToDraw, new com.aspose.imaging.Point(400, 200), new com.aspose.imaging.Size(100, 50));
} finally {
    imageToDraw.dispose();
}

// Draw a text string
graphics.drawString(
        new com.aspose.imaging.Font("Arial", 48, com.aspose.imaging.FontStyle.Regular),
        "Hello World!",
        new com.aspose.imaging.Point(200, 300),
        com.aspose.imaging.Color.getDarkRed());

// Create a path to fill
com.aspose.imaging.Figure figureToFill = new com.aspose.imaging.Figure();
figureToFill.setClosed(true);

com.aspose.imaging.GraphicsPath pathToFill = new com.aspose.imaging.GraphicsPath();
pathToFill.addFigure(figureToFill);

figureToFill.addShapes(new com.aspose.imaging.Shape[]
        {
                new com.aspose.imaging.shapes.ArcShape(new com.aspose.imaging.RectangleF(400, 0, 200, 100), 45, 300),
                new com.aspose.imaging.shapes.BezierShape(
                        new com.aspose.imaging.PointF[]
                                {
                                        new com.aspose.imaging.PointF(300, 200),
                                        new com.aspose.imaging.PointF(400, 200),
                                        new com.aspose.imaging.PointF(500, 100),
                                        new com.aspose.imaging.PointF(600, 200),
                                }),
                new com.aspose.imaging.shapes.PolygonShape(
                        new com.aspose.imaging.PointF[]
                                {
                                        new com.aspose.imaging.PointF(300, 100),
                                }),
                new com.aspose.imaging.shapes.RectangleShape(
                        new com.aspose.imaging.RectangleF(0, 100, 200, 200)),
        });

// Fill the path using a yellow brush and a green pen to draw outline
graphics.fillPath(
        new com.aspose.imaging.Pen(com.aspose.imaging.Color.getGreen(), 2),
        new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getYellow()), pathToFill);

// Create a path to draw
com.aspose.imaging.GraphicsPath pathToDraw = new com.aspose.imaging.GraphicsPath();
com.aspose.imaging.Figure figureToDraw = new com.aspose.imaging.Figure();
pathToDraw.addFigure(figureToDraw);

figureToDraw.addShapes(new com.aspose.imaging.Shape[]
        {
                new com.aspose.imaging.shapes.ArcShape(new com.aspose.imaging.RectangleF(200, 200, 200, 200), 0, 360),
        });

// Draw the path using a 5-pixel-wide orange pen.
graphics.drawPath(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getOrange(), 5), pathToDraw);

// Get the final SVG image which includes all drawing commands
com.aspose.imaging.fileformats.svg.SvgImage svgImage = graphics.endRecording();
try {
    svgImage.save(dir + "test.output.svg");
} finally {
    svgImage.dispose();
}

SvgGraphics2D(int width, int height, int dpi)

public SvgGraphics2D(int width, int height, int dpi)

Initializes a new instance of the SvgGraphics2D class.

Parameters:

ParameterTypeDescription
widthintThe width of the output Svg image.
heightintThe width of the output Svg image.
dpiintThe device resolution, e.g. 96 dots per inch.

SvgGraphics2D(SvgImage image)

public SvgGraphics2D(SvgImage image)

Initializes a new instance of the SvgGraphics2D class.

Parameters:

ParameterTypeDescription
imageSvgImageThe image to perform drawing operations on.

drawImage(RasterImage image, Point origin)

public final void drawImage(RasterImage image, Point origin)

Draws the specified image at the specified location.

Parameters:

ParameterTypeDescription
imageRasterImageThe drawn image.
originPointThe location of the drawn image.

drawImage(RasterImage image, Point origin, Size size)

public final void drawImage(RasterImage image, Point origin, Size size)

Draws the specified image of the specified size at the specified location.

Parameters:

ParameterTypeDescription
imageRasterImageThe drawn image.
originPointThe location of the drawn image.
sizeSizeThe desired size of the drawn image.

drawImage(Rectangle srcRect, Rectangle destRect, RasterImage image)

public final void drawImage(Rectangle srcRect, Rectangle destRect, RasterImage image)

Draws the specified portion of the specified image at the specified location and with the specified size.

Parameters:

ParameterTypeDescription
srcRectRectangleThe portion of the image object to draw.
destRectRectangleThe location and size of the drawn image. The image is scaled to fit the rectangle.
imageRasterImageThe image to draw.

drawArc(Pen pen, Rectangle rect, float startAngle, float arcAngle)

public final void drawArc(Pen pen, Rectangle rect, float startAngle, float arcAngle)

Draws an arc representing a portion of an ellipse specified by a Rectangle structure.

Parameters:

ParameterTypeDescription
penPenThe pen to draw the outline of the figure.
rectRectangleThe boundaries of the ellipse.
startAnglefloatThe angle in degrees measured clockwise from the x-axis to the starting point of the arc.
arcAnglefloatThe angle in degrees measured clockwise from the startAngle parameter to ending point of the arc.

fillArc(Pen pen, Brush brush, Rectangle rect, float startAngle, float arcAngle)

public final void fillArc(Pen pen, Brush brush, Rectangle rect, float startAngle, float arcAngle)

Fills an arc representing a portion of an ellipse specified by a Rectangle structure.

Parameters:

ParameterTypeDescription
penPenThe pen to draw the outline of the figure.
brushBrushThe brush to fill the interior of the figure.
rectRectangleThe boundaries of the ellipse.
startAnglefloatThe angle in degrees measured clockwise from the x-axis to the starting point of the arc.
arcAnglefloatThe angle in degrees measured clockwise from the startAngle parameter to ending point of the arc.

drawCubicBezier(Pen pen, PointF pt1, PointF pt2, PointF pt3, PointF pt4)

public final void drawCubicBezier(Pen pen, PointF pt1, PointF pt2, PointF pt3, PointF pt4)

Draws the cubic bezier.

Parameters:

ParameterTypeDescription
penPenThe pen that determines the color, width, and style of the figure.
pt1PointFThe starting point of the curve.
pt2PointFThe first control point for the curve.
pt3PointFThe second control point for the curve.
pt4PointFThe ending point of the curve.

drawString(Font font, String text, Point origin, Color textColor)

public final void drawString(Font font, String text, Point origin, Color textColor)

Draws the text string.

Parameters:

ParameterTypeDescription
fontFontThe font used to render text.
textjava.lang.StringThe unicode text string.
originPointThe top-left corner of the text run.
textColorColorThe text color.

drawLine(Pen pen, int x1, int y1, int x2, int y2)

public final void drawLine(Pen pen, int x1, int y1, int x2, int y2)

Draws the line.

Parameters:

ParameterTypeDescription
penPenThe pen that determines the color, width, and style of the figure.
x1intThe x-coordinate of the first point.
y1intThe y-coordinate of the first point.
x2intThe x-coordinate of the second point.
y2intThe y-coordinate of the second point.

drawPath(Pen pen, GraphicsPath path)

public final void drawPath(Pen pen, GraphicsPath path)

Draws the path.

Parameters:

ParameterTypeDescription
penPenThe pen to draw the outline of the figure.
pathGraphicsPathThe path to draw.

fillPath(Pen pen, Brush brush, GraphicsPath path)

public final void fillPath(Pen pen, Brush brush, GraphicsPath path)

Fills the path.

Parameters:

ParameterTypeDescription
penPenThe pen to draw the outline of the figure.
brushBrushThe brush to fill the interior of the figure.
pathGraphicsPathThe path to draw.

drawRectangle(Pen pen, int x, int y, int width, int height)

public final void drawRectangle(Pen pen, int x, int y, int width, int height)

Draws the rectangle.

Parameters:

ParameterTypeDescription
penPenThe pen to draw the outline of the figure.
xintThe x-coordinate of the upper-left corner of the rectangle to draw.
yintThe y-coordinate of the upper-left corner of the rectangle to draw.
widthintThe width of the rectangle to draw.
heightintThe height of the rectangle to draw.

fillRectangle(Pen pen, Brush brush, int x, int y, int width, int height)

public final void fillRectangle(Pen pen, Brush brush, int x, int y, int width, int height)

Fills the rectangle.

Parameters:

ParameterTypeDescription
penPenThe pen to draw the outline of the figure.
brushBrushThe brush to fill the interior of the figure.
xintThe x-coordinate of the upper-left corner of the rectangle to draw.
yintThe y-coordinate of the upper-left corner of the rectangle to draw.
widthintThe width of the rectangle to draw.
heightintThe height of the rectangle to draw.

endRecording()

public final SvgImage endRecording()

Gets the final Svg image which includes all drawing commands performed via SvgGraphics2D object.

Returns: SvgImage - The final Svg image.