SvgGraphics2D

Inheritance: java.lang.Object

public class SvgGraphics2D

Предоставляет команды рисования для создания Svg изображения.

Конструкторы

КонструкторОписание
SvgGraphics2D(int width, int height, int dpi)Инициализирует новый экземпляр класса SvgGraphics2D.
SvgGraphics2D(SvgImage image)Инициализирует новый экземпляр класса SvgGraphics2D.

Методы

МетодОписание
drawImage(RasterImage image, Point origin)Рисует указанное изображение в указанном месте.
drawImage(RasterImage image, Point origin, Size size)Рисует указанное изображение заданного размера в указанном месте.
drawImage(Rectangle srcRect, Rectangle destRect, RasterImage image)Рисует указанную часть указанного изображения в указанном месте и заданного размера.
drawArc(Pen pen, Rectangle rect, float startAngle, float arcAngle)Рисует дугу, представляющую часть эллипса, заданную структурой Rectangle.
fillArc(Pen pen, Brush brush, Rectangle rect, float startAngle, float arcAngle)Заполняет дугу, представляющую часть эллипса, заданную структурой Rectangle.
drawCubicBezier(Pen pen, PointF pt1, PointF pt2, PointF pt3, PointF pt4)Рисует кубический безье.
drawString(Font font, String text, Point origin, Color textColor)Рисует строку текста.
drawLine(Pen pen, int x1, int y1, int x2, int y2)Рисует линию.
drawPath(Pen pen, GraphicsPath path)Рисует путь.
fillPath(Pen pen, Brush brush, GraphicsPath path)Заполняет путь.
drawRectangle(Pen pen, int x, int y, int width, int height)Рисует прямоугольник.
fillRectangle(Pen pen, Brush brush, int x, int y, int width, int height)Заполняет прямоугольник.
endRecording()Получает окончательное Svg‑изображение, которое включает все команды рисования, выполненные через объект 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);

// Нарисовать черный прямоугольник вдоль границ изображения, используя черное перо шириной 1 пиксель.
graphics.drawRectangle(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlack(), 1), 0, 0, imageWidth, imageHeight);

// Заполнить прямоугольник цветом 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);

// Нарисовать две диагональные линии, используя темно-зеленое перо шириной 1 пиксель.
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);

// Нарисовать дугу внутри прямоугольника {0, 0, 200, 200}, используя синее перо шириной 2 пикселя.
graphics.drawArc(
        new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlue(), 2),
        new com.aspose.imaging.Rectangle(0, 0, 200, 200), 90, 270);

// Заполнить дугу
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);

// Нарисовать кубический безье, используя красное перо шириной 2 пикселя.
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));

// Нарисовать растровое изображение указанного размера в указанном месте.
// Изображение масштабируется, чтобы вписаться в требуемый прямоугольник.
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();
}

// Нарисовать строку текста
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());

// Создать путь для заполнения
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)),
        });

// Заполнить путь, используя желтую кисть и зеленое перо для обводки.
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);

// Создать путь для рисования
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),
        });

// Нарисовать путь, используя оранжевое перо шириной 5 пикселей.
graphics.drawPath(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getOrange(), 5), pathToDraw);

// Получить окончательное SVG‑изображение, которое включает все команды рисования
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)

Инициализирует новый экземпляр класса SvgGraphics2D.

Parameters:

ПараметрТипОписание
widthintШирина выходного Svg‑изображения.
heightintШирина выходного Svg‑изображения.
dpiintРазрешение устройства, например 96 точек на дюйм.

SvgGraphics2D(SvgImage image)

public SvgGraphics2D(SvgImage image)

Инициализирует новый экземпляр класса SvgGraphics2D.

Parameters:

ПараметрТипОписание
imageSvgImageИзображение, на котором выполняются операции рисования.

drawImage(RasterImage image, Point origin)

public final void drawImage(RasterImage image, Point origin)

Рисует указанное изображение в указанном месте.

Parameters:

ПараметрТипОписание
imageRasterImageПолученное изображение.
originPointРасположение полученного изображения.

drawImage(RasterImage image, Point origin, Size size)

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

Рисует указанное изображение заданного размера в указанном месте.

Parameters:

ПараметрТипОписание
imageRasterImageПолученное изображение.
originPointРасположение полученного изображения.
sizeSizeЖелаемый размер полученного изображения.

drawImage(Rectangle srcRect, Rectangle destRect, RasterImage image)

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

Рисует указанную часть указанного изображения в указанном месте и заданного размера.

Parameters:

ПараметрТипОписание
srcRectRectangleЧасть объекта изображения для рисования.
destRectRectangleРасположение и размер полученного изображения. Изображение масштабируется, чтобы соответствовать прямоугольнику.
imageRasterImageИзображение для отрисовки.

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

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

Рисует дугу, представляющую часть эллипса, заданную структурой Rectangle.

Parameters:

ПараметрТипОписание
penPenПеро для рисования контура фигуры.
rectRectangleГраницы эллипса.
startAnglefloatУгол в градусах, измеряемый по часовой стрелке от оси x до начальной точки дуги.
arcAnglefloatУгол в градусах, измеряемый по часовой стрелке от параметра startAngle до конечной точки дуги.

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)

Заполняет дугу, представляющую часть эллипса, заданную структурой Rectangle.

Parameters:

ПараметрТипОписание
penPenПеро для рисования контура фигуры.
brushBrushКисть для заполнения внутренней части фигуры.
rectRectangleГраницы эллипса.
startAnglefloatУгол в градусах, измеряемый по часовой стрелке от оси x до начальной точки дуги.
arcAnglefloatУгол в градусах, измеряемый по часовой стрелке от параметра startAngle до конечной точки дуги.

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)

Рисует кубический безье.

Parameters:

ПараметрТипОписание
penPenПеро, определяющее цвет, толщину и стиль фигуры.
pt1PointFНачальная точка кривой.
pt2PointFПервая контрольная точка кривой.
pt3PointFВторая контрольная точка кривой.
pt4PointFКонечная точка кривой.

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

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

Рисует строку текста.

Parameters:

ПараметрТипОписание
fontFontШрифт, используемый для отображения текста.
textjava.lang.StringСтрока Unicode текста.
originPointВерхний левый угол текстового блока.
textColorColorЦвет текста.

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)

Рисует линию.

Parameters:

ПараметрТипОписание
penPenПеро, определяющее цвет, толщину и стиль фигуры.
x1intКоордината x первой точки.
y1intКоордината y первой точки.
x2intКоордината x второй точки.
y2intКоордината y второй точки.

drawPath(Pen pen, GraphicsPath path)

public final void drawPath(Pen pen, GraphicsPath path)

Рисует путь.

Parameters:

ПараметрТипОписание
penPenПеро для рисования контура фигуры.
pathGraphicsPathПуть для рисования.

fillPath(Pen pen, Brush brush, GraphicsPath path)

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

Заполняет путь.

Parameters:

ПараметрТипОписание
penPenПеро для рисования контура фигуры.
brushBrushКисть для заполнения внутренней части фигуры.
pathGraphicsPathПуть для рисования.

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)

Рисует прямоугольник.

Parameters:

ПараметрТипОписание
penPenПеро для рисования контура фигуры.
xintКоордината x верхнего левого угла прямоугольника для рисования.
yintКоордината y верхнего левого угла прямоугольника для рисования.
widthintШирина прямоугольника для рисования.
heightintВысота прямоугольника для рисования.

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)

Заполняет прямоугольник.

Parameters:

ПараметрТипОписание
penPenПеро для рисования контура фигуры.
brushBrushКисть для заполнения внутренней части фигуры.
xintКоордината x верхнего левого угла прямоугольника для рисования.
yintКоордината y верхнего левого угла прямоугольника для рисования.
widthintШирина прямоугольника для рисования.
heightintВысота прямоугольника для рисования.

endRecording()

public final SvgImage endRecording()

Получает окончательное Svg‑изображение, которое включает все команды рисования, выполненные через объект SvgGraphics2D.

Returns: SvgImage - The final Svg image.