SvgGraphics2D
Inheritance: java.lang.Object
public class SvgGraphics2D
Предоставляет команды рисования для создания Svg изображения.
Конструкторы
| Конструктор | Описание |
|---|---|
| SvgGraphics2D(int width, int height, int dpi) | Инициализирует новый экземпляр класса SvgGraphics2D. |
| SvgGraphics2D(SvgImage image) | Инициализирует новый экземпляр класса 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:
| Параметр | Тип | Описание |
|---|---|---|
| width | int | Ширина выходного Svg‑изображения. |
| height | int | Ширина выходного Svg‑изображения. |
| dpi | int | Разрешение устройства, например 96 точек на дюйм. |
SvgGraphics2D(SvgImage image)
public SvgGraphics2D(SvgImage image)
Инициализирует новый экземпляр класса SvgGraphics2D.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| image | SvgImage | Изображение, на котором выполняются операции рисования. |
drawImage(RasterImage image, Point origin)
public final void drawImage(RasterImage image, Point origin)
Рисует указанное изображение в указанном месте.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| image | RasterImage | Полученное изображение. |
| origin | Point | Расположение полученного изображения. |
drawImage(RasterImage image, Point origin, Size size)
public final void drawImage(RasterImage image, Point origin, Size size)
Рисует указанное изображение заданного размера в указанном месте.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| image | RasterImage | Полученное изображение. |
| origin | Point | Расположение полученного изображения. |
| size | Size | Желаемый размер полученного изображения. |
drawImage(Rectangle srcRect, Rectangle destRect, RasterImage image)
public final void drawImage(Rectangle srcRect, Rectangle destRect, RasterImage image)
Рисует указанную часть указанного изображения в указанном месте и заданного размера.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| srcRect | Rectangle | Часть объекта изображения для рисования. |
| destRect | Rectangle | Расположение и размер полученного изображения. Изображение масштабируется, чтобы соответствовать прямоугольнику. |
| image | RasterImage | Изображение для отрисовки. |
drawArc(Pen pen, Rectangle rect, float startAngle, float arcAngle)
public final void drawArc(Pen pen, Rectangle rect, float startAngle, float arcAngle)
Рисует дугу, представляющую часть эллипса, заданную структурой Rectangle.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| pen | Pen | Перо для рисования контура фигуры. |
| rect | Rectangle | Границы эллипса. |
| startAngle | float | Угол в градусах, измеряемый по часовой стрелке от оси x до начальной точки дуги. |
| arcAngle | float | Угол в градусах, измеряемый по часовой стрелке от параметра 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:
| Параметр | Тип | Описание |
|---|---|---|
| pen | Pen | Перо для рисования контура фигуры. |
| brush | Brush | Кисть для заполнения внутренней части фигуры. |
| rect | Rectangle | Границы эллипса. |
| startAngle | float | Угол в градусах, измеряемый по часовой стрелке от оси x до начальной точки дуги. |
| arcAngle | float | Угол в градусах, измеряемый по часовой стрелке от параметра 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:
| Параметр | Тип | Описание |
|---|---|---|
| pen | Pen | Перо, определяющее цвет, толщину и стиль фигуры. |
| pt1 | PointF | Начальная точка кривой. |
| pt2 | PointF | Первая контрольная точка кривой. |
| pt3 | PointF | Вторая контрольная точка кривой. |
| pt4 | PointF | Конечная точка кривой. |
drawString(Font font, String text, Point origin, Color textColor)
public final void drawString(Font font, String text, Point origin, Color textColor)
Рисует строку текста.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| font | Font | Шрифт, используемый для отображения текста. |
| text | java.lang.String | Строка Unicode текста. |
| origin | Point | Верхний левый угол текстового блока. |
| textColor | 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)
Рисует линию.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| pen | Pen | Перо, определяющее цвет, толщину и стиль фигуры. |
| x1 | int | Координата x первой точки. |
| y1 | int | Координата y первой точки. |
| x2 | int | Координата x второй точки. |
| y2 | int | Координата y второй точки. |
drawPath(Pen pen, GraphicsPath path)
public final void drawPath(Pen pen, GraphicsPath path)
Рисует путь.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| pen | Pen | Перо для рисования контура фигуры. |
| path | GraphicsPath | Путь для рисования. |
fillPath(Pen pen, Brush brush, GraphicsPath path)
public final void fillPath(Pen pen, Brush brush, GraphicsPath path)
Заполняет путь.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| pen | Pen | Перо для рисования контура фигуры. |
| brush | Brush | Кисть для заполнения внутренней части фигуры. |
| path | GraphicsPath | Путь для рисования. |
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:
| Параметр | Тип | Описание |
|---|---|---|
| pen | Pen | Перо для рисования контура фигуры. |
| x | int | Координата x верхнего левого угла прямоугольника для рисования. |
| y | int | Координата y верхнего левого угла прямоугольника для рисования. |
| width | int | Ширина прямоугольника для рисования. |
| height | int | Высота прямоугольника для рисования. |
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:
| Параметр | Тип | Описание |
|---|---|---|
| pen | Pen | Перо для рисования контура фигуры. |
| brush | Brush | Кисть для заполнения внутренней части фигуры. |
| x | int | Координата x верхнего левого угла прямоугольника для рисования. |
| y | int | Координата y верхнего левого угла прямоугольника для рисования. |
| width | int | Ширина прямоугольника для рисования. |
| height | int | Высота прямоугольника для рисования. |
endRecording()
public final SvgImage endRecording()
Получает окончательное Svg‑изображение, которое включает все команды рисования, выполненные через объект SvgGraphics2D.
Returns: SvgImage - The final Svg image.