SvgGraphics2D

Inheritance: java.lang.Object

public class SvgGraphics2D

Tillhandahåller ritkommandon för att komponera en Svg‑bild.

Konstruktörer

KonstruktorBeskrivning
SvgGraphics2D(int width, int height, int dpi)Initierar en ny instans av klassen SvgGraphics2D.
SvgGraphics2D(SvgImage image)Initierar en ny instans av klassen SvgGraphics2D.

Metoder

MetodBeskrivning
drawImage(RasterImage image, Point origin)Ritar den angivna bilden på den angivna platsen.
drawImage(RasterImage image, Point origin, Size size)Ritar den angivna bilden i den angivna storleken på den angivna platsen.
drawImage(Rectangle srcRect, Rectangle destRect, RasterImage image)Ritar den angivna delen av den angivna bilden på den angivna platsen och med den angivna storleken.
drawArc(Pen pen, Rectangle rect, float startAngle, float arcAngle)Ritar en båge som representerar en del av en ellips specificerad av en rektangelstruktur.
fillArc(Pen pen, Brush brush, Rectangle rect, float startAngle, float arcAngle)Fyller en båge som representerar en del av en ellips specificerad av en rektangelstruktur.
drawCubicBezier(Pen pen, PointF pt1, PointF pt2, PointF pt3, PointF pt4)Ritar den kubiska Bézier-kurvan.
drawString(Font font, String text, Point origin, Color textColor)Ritar textsträngen.
drawLine(Pen pen, int x1, int y1, int x2, int y2)Ritar linjen.
drawPath(Pen pen, GraphicsPath path)Ritar banan.
fillPath(Pen pen, Brush brush, GraphicsPath path)Fyller banan.
drawRectangle(Pen pen, int x, int y, int width, int height)Ritar rektangeln.
fillRectangle(Pen pen, Brush brush, int x, int y, int width, int height)Fyller rektangeln.
endRecording()Hämtar den slutgiltiga Svg-bilden som inkluderar alla ritkommandon som utförts via objektet SvgGraphics2D.

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);

// Rita en svart rektangel längs bildens kanter med en 1‑pixel bred svart penna.
graphics.drawRectangle(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlack(), 1), 0, 0, imageWidth, imageHeight);

// Fyll en rektangel med färgen 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);

// Rita två diagonala linjer med en 1‑pixel bred darkgreen‑penna.
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);

// Rita en båge inom rektangeln {0, 0, 200, 200} med en 2‑pixel bred blå penna.
graphics.drawArc(
        new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlue(), 2),
        new com.aspose.imaging.Rectangle(0, 0, 200, 200), 90, 270);

// Fyll en båge
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);

// Rita en kubisk Bézier med en 2‑pixel bred röd penna.
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));

// Rita en rasterbild av angiven storlek på den angivna platsen.
// Bilden skalas för att passa den önskade rektangeln.
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();
}

// Rita en textsträng
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());

// Skapa en bana för att fylla
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)),
        });

// Fyll banan med en gul pensel och en grön penna för att rita konturen
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);

// Skapa en bana för att rita
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),
        });

// Rita banan med en 5‑pixel bred orange penna.
graphics.drawPath(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getOrange(), 5), pathToDraw);

// Hämta den slutgiltiga SVG-bilden som inkluderar alla ritkommandon
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)

Initierar en ny instans av klassen SvgGraphics2D.

Parameters:

ParameterTypBeskrivning
breddintBredden på den utgående Svg-bilden.
höjdintBredden på den utgående Svg-bilden.
dpiintEnhetens upplösning, t.ex. 96 punkter per tum.

SvgGraphics2D(SvgImage image)

public SvgGraphics2D(SvgImage image)

Initierar en ny instans av klassen SvgGraphics2D.

Parameters:

ParameterTypBeskrivning
imageSvgImageBilden som ritoperationer ska utföras på.

drawImage(RasterImage image, Point origin)

public final void drawImage(RasterImage image, Point origin)

Ritar den angivna bilden på den angivna platsen.

Parameters:

ParameterTypBeskrivning
imageRasterImageDen ritade bilden.
originPointPlatsen för den ritade bilden.

drawImage(RasterImage image, Point origin, Size size)

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

Ritar den angivna bilden i den angivna storleken på den angivna platsen.

Parameters:

ParameterTypBeskrivning
imageRasterImageDen ritade bilden.
originPointPlatsen för den ritade bilden.
sizeSizeDen önskade storleken på den ritade bilden.

drawImage(Rectangle srcRect, Rectangle destRect, RasterImage image)

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

Ritar den angivna delen av den angivna bilden på den angivna platsen och med den angivna storleken.

Parameters:

ParameterTypBeskrivning
srcRectRectangleDen del av bildobjektet som ska ritas.
destRectRectanglePlatsen och storleken på den ritade bilden. Bilden skalas för att passa rektangeln.
imageRasterImageBilden som ska ritas.

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

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

Ritar en båge som representerar en del av en ellips specificerad av en rektangelstruktur.

Parameters:

ParameterTypBeskrivning
penPenPennan för att rita figurens kontur.
rectRectangleEllipsens gränser.
startAnglefloatVinkeln i grader, mätt medurs från x-axeln till startpunkten för bågen.
arcAnglefloatVinkeln i grader, mätt medurs från startAngle‑parametern till slutpunkten för bågen.

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)

Fyller en båge som representerar en del av en ellips specificerad av en rektangelstruktur.

Parameters:

ParameterTypBeskrivning
penPenPennan för att rita figurens kontur.
brushBrushPenseln för att fylla figurens inre.
rectRectangleEllipsens gränser.
startAnglefloatVinkeln i grader, mätt medurs från x-axeln till startpunkten för bågen.
arcAnglefloatVinkeln i grader, mätt medurs från startAngle‑parametern till slutpunkten för bågen.

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)

Ritar den kubiska Bézier-kurvan.

Parameters:

ParameterTypBeskrivning
penPenPennan som bestämmer figurens färg, bredd och stil.
pt1PointFStartpunkten för kurvan.
pt2PointFDen första kontrollpunkten för kurvan.
pt3PointFDen andra kontrollpunkten för kurvan.
pt4PointFSlutpunkten för kurvan.

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

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

Ritar textsträngen.

Parameters:

ParameterTypBeskrivning
fontFontTeckensnittet som används för att rendera text.
textjava.lang.StringUnicode-textsträngen.
originPointDet övre vänstra hörnet av textkörningen.
textColorColorTextfärgen.

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)

Ritar linjen.

Parameters:

ParameterTypBeskrivning
penPenPennan som bestämmer figurens färg, bredd och stil.
x1intX-koordinaten för den första punkten.
y1intY-koordinaten för den första punkten.
x2intX-koordinaten för den andra punkten.
y2intY-koordinaten för den andra punkten.

drawPath(Pen pen, GraphicsPath path)

public final void drawPath(Pen pen, GraphicsPath path)

Ritar banan.

Parameters:

ParameterTypBeskrivning
penPenPennan för att rita figurens kontur.
pathGraphicsPathSökvägen att rita.

fillPath(Pen pen, Brush brush, GraphicsPath path)

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

Fyller banan.

Parameters:

ParameterTypBeskrivning
penPenPennan för att rita figurens kontur.
brushBrushPenseln för att fylla figurens inre.
pathGraphicsPathSökvägen att rita.

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)

Ritar rektangeln.

Parameters:

ParameterTypBeskrivning
penPenPennan för att rita figurens kontur.
xintX-koordinaten för den övre vänstra hörnet av rektangeln som ska ritas.
yintY-koordinaten för den övre vänstra hörnet av rektangeln som ska ritas.
breddintBredden på rektangeln som ska ritas.
höjdintHöjden på rektangeln som ska ritas.

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)

Fyller rektangeln.

Parameters:

ParameterTypBeskrivning
penPenPennan för att rita figurens kontur.
brushBrushPenseln för att fylla figurens inre.
xintX-koordinaten för den övre vänstra hörnet av rektangeln som ska ritas.
yintY-koordinaten för den övre vänstra hörnet av rektangeln som ska ritas.
breddintBredden på rektangeln som ska ritas.
höjdintHöjden på rektangeln som ska ritas.

endRecording()

public final SvgImage endRecording()

Hämtar den slutgiltiga Svg-bilden som inkluderar alla ritkommandon som utförts via objektet SvgGraphics2D.

Returns: SvgImage - The final Svg image.