Класс MetafileRecorderGraphics2D

Summary: The metafiles recorder graphics

Module: aspose.imaging.fileformats.emf.graphics

Full Name: aspose.imaging.fileformats.emf.graphics.MetafileRecorderGraphics2D

Properties

NameTypeAccessDescription
background_colorColorr/wПолучает или задает цвет фона.
clipRegionr/wПолучает или задает область, ограничивающую область рисования этого Graphics
clip_boundsRectangleFrПолучает границы обрезки.

Methods

NameDescription
clear()Очищает состояние графического объекта
draw_arc(pen, rect, start_angle, arc_angle)Рисует дугу, представляющую часть эллипса, заданного структурой Rectangle.
draw_cubic_bezier(pen, pt1, pt2, pt3, pt4)Рисует кубический безье.
draw_ellipse(pen, rect)Рисует эллипс.
draw_image(image, dest_rect, src_rect, src_unit)Рисует указанную часть указанного изображения в указанном месте и с указанным размером.
draw_image(image, location)Отрисовывает указанное изображение, используя его оригинальный физический размер, в указанном месте.
draw_image(image_bytes, dest_rect, src_unit)Отрисовывает изображение.
draw_image(stream, dest_rect, src_unit)Отрисовывает изображение.
draw_image_from_bytes(image_bytes, dest_rect, src_unit)Отрисовывает изображение.
draw_image_from_stream(stream, dest_rect, src_unit)Отрисовывает изображение.
draw_line(pen, pt1, pt2)Отрисовывает линию.
draw_line(pen, x1, y1, x2, y2)Отрисовывает линию.
draw_path(pen, path)Отрисовывает путь.
draw_pie(pen, rect, start_angle, sweep_angle)Отрисовывает сектор.
draw_poly_cubic_bezier(pen, points)Отрисовывает поликубический Безье.
draw_polygon(pen, points)Отрисовывает многоугольник.
draw_polyline(pen, points)Отрисовывает полилинию.
draw_rectangle(pen, rectangle)Отрисовывает прямоугольник.
draw_rectangle(pen, x, y, width, height)Отрисовывает прямоугольник.
draw_string(string, font, color, x, y)Отрисовывает строку.
draw_string(string, font, color, x, y, angle)Отрисовывает строку.
exclude_clip(rect)Обновляет область отсечения этого Graphics, исключая область, указанную структурой Rectangle.
exclude_clip(region)Обновляет область отсечения этого Graphics, исключая область, указанную объектом Region.
exclude_clip_rect(rect)Обновляет область отсечения этого Graphics, исключая область, указанную структурой Rectangle.
exclude_clip_rgn(region)Обновляет область отсечения этого Graphics, исключая область, указанную объектом Region.
fill_ellipse(brush, rect)Заполняет эллипс.
fill_path(pen, brush, path)Заполняет путь.
fill_pie(brush, rect, start_angle, sweep_angle)Заполняет сектор.
fill_polygon(brush, points)Заполняет многоугольник.
fill_polygon(brush, points, fill_mode)Заполняет многоугольник.
fill_rectangle(brush, rectangle)Заполняет прямоугольник.
get_transform()Получает мировое преобразование.
intersect_clip(rect)Обновляет область отсечения этого Graphics до пересечения текущей области отсечения и указанной структуры Rectangle.
intersect_clip(region)Обновляет область отсечения этого Graphics до пересечения текущей области отсечения и указанного объекта Region.
intersect_clip_rect_f(rect)Обновляет область отсечения этого Graphics до пересечения текущей области отсечения и указанной структуры Rectangle.
intersect_clip_rgn(region)Обновляет область отсечения этого Graphics до пересечения текущей области отсечения и указанного объекта Region.
multiply_transform(matrix)Умножает мировое преобразование этого Graphics на указанный Matrix.
multiply_transform(matrix, order)Умножает мировое преобразование этого Graphics на указанный Matrix в указанном порядке.
reset_clip()Сбрасывает обрезку.
rotate_transform(angle)Применяет указанное вращение к матрице преобразования этого Graphics.
rotate_transform(angle, center, order)Применяет указанное вращение к матрице преобразования этого Graphics в указанном порядке.
scale_transform(sx, sy)Применяет указанную операцию масштабирования к матрице преобразования этого Graphics, предваряя её матрицей преобразования объекта.
scale_transform(sx, sy, order)Применяет указанную операцию масштабирования к матрице преобразования этого Graphics в указанном порядке.
set_transform(transform)Устанавливает преобразование.
translate_transform(x, y)Изменяет начало координат, предваряя указанное перемещение матрицей преобразования этого Graphics.
translate_transform(x, y, order)Изменяет начало координат, применяя указанное перемещение к матрице преобразования этого Graphics в указанном порядке.

Method: draw_arc(pen, rect, start_angle, arc_angle)

 draw_arc(pen, rect, start_angle, arc_angle) 

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

Parameters:

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

See also:

Example # 1: This example shows how to create a WMF image and draw some geometric shapes u…

Example # 2: This example shows how to create a EMF image and draw some geometric shapes o…

Method: draw_cubic_bezier(pen, pt1, pt2, pt3, pt4)

 draw_cubic_bezier(pen, pt1, pt2, pt3, pt4) 

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

Parameters:

ПараметрТипОписание
penPenКарандаш, определяющий цвет, ширину и стиль фигуры.
pt1PointНачальная точка кривой.
pt2PointПервая управляющая точка кривой.
pt3PointВторая управляющая точка кривой.
pt4PointКонечная точка кривой.

See also:

Example # 1: This example shows how to create a WMF image and draw some geometric shapes u…

Example # 2: This example shows how to create a EMF image and draw some geometric shapes o…

Method: draw_ellipse(pen, rect)

 draw_ellipse(pen, rect) 

Рисует эллипс.

Parameters:

ПараметрТипОписание
penPenКарандаш, определяющий цвет, ширину и стиль фигуры.
rectRectangleГраницы эллипса.

Method: draw_image(image, dest_rect, src_rect, src_unit)

 draw_image(image, dest_rect, src_rect, src_unit) 

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

Parameters:

ПараметрТипОписание
imageRasterImageИзображение для отрисовки.
dest_rectRectangleСтруктура Rectangle, указывающая расположение и размер отрисованного изображения. Изображение масштабируется, чтобы соответствовать прямоугольнику.
src_rectRectangleСтруктура Rectangle, указывающая часть объекта изображения для отрисовки.
src_unitGraphicsUnitЕдиницы измерения, используемые параметром srcRect.

See also:

Example # 1: This example shows how to create a WMF image and draw some geometric shapes u…

Example # 2: This example shows how to create a EMF image and draw some geometric shapes o…

Method: draw_image(image, location)

 draw_image(image, location) 

Отрисовывает указанное изображение, используя его оригинальный физический размер, в указанном месте.

Parameters:

ПараметрТипОписание
imageRasterImageИзображение для отрисовки.
locationPointРасположение верхнего левого угла отрисованного изображения.

Method: draw_image(image_bytes, dest_rect, src_unit)

 draw_image(image_bytes, dest_rect, src_unit) 

Отрисовывает изображение.

Parameters:

ПараметрТипОписание
image_bytesSystem.ByteБайты изображения.
dest_rectRectangleПрямоугольник назначения.
src_unitGraphicsUnitИсходный блок.

Method: draw_image(stream, dest_rect, src_unit)

 draw_image(stream, dest_rect, src_unit) 

Отрисовывает изображение.

Parameters:

ПараметрТипОписание
поток_io.BufferedRandomПоток.
dest_rectRectangleПрямоугольник назначения.
src_unitGraphicsUnitИсходный блок.

Method: draw_image_from_bytes(image_bytes, dest_rect, src_unit)

 draw_image_from_bytes(image_bytes, dest_rect, src_unit) 

Отрисовывает изображение.

Parameters:

ПараметрТипОписание
image_bytesSystem.ByteБайты изображения.
dest_rectRectangleПрямоугольник назначения.
src_unitGraphicsUnitИсходный блок.

Method: draw_image_from_stream(stream, dest_rect, src_unit)

 draw_image_from_stream(stream, dest_rect, src_unit) 

Отрисовывает изображение.

Parameters:

ПараметрТипОписание
поток_io.BufferedRandomПоток.
dest_rectRectangleПрямоугольник назначения.
src_unitGraphicsUnitИсходный блок.

Method: draw_line(pen, pt1, pt2)

 draw_line(pen, pt1, pt2) 

Отрисовывает линию.

Parameters:

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

Method: draw_line(pen, x1, y1, x2, y2)

 draw_line(pen, x1, y1, x2, y2) 

Отрисовывает линию.

Parameters:

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

See also:

Example # 1: This example shows how to create a WMF image and draw some geometric shapes u…

Example # 2: This example shows how to create a EMF image and draw some geometric shapes o…

Method: draw_path(pen, path)

 draw_path(pen, path) 

Отрисовывает путь.

Parameters:

ПараметрТипОписание
penPenКарандаш, определяющий цвет, ширину и стиль фигуры.
pathGraphicsPathПуть для отрисовки.

See also:

Example # 1: This example shows how to create a WMF image and draw some geometric shapes u…

Example # 2: This example shows how to create a EMF image and draw some geometric shapes o…

Method: draw_pie(pen, rect, start_angle, sweep_angle)

 draw_pie(pen, rect, start_angle, sweep_angle) 

Отрисовывает сектор.

Parameters:

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

Method: draw_poly_cubic_bezier(pen, points)

 draw_poly_cubic_bezier(pen, points) 

Отрисовывает поликубический Безье.

Parameters:

ПараметрТипОписание
penPenКарандаш, определяющий цвет, ширину и стиль фигуры.
pointsPoint[]Точки.

Method: draw_polygon(pen, points)

 draw_polygon(pen, points) 

Отрисовывает многоугольник.

Parameters:

ПараметрТипОписание
penPenКарандаш, определяющий цвет, ширину и стиль фигуры.
pointsPoint[]Точки.

Method: draw_polyline(pen, points)

 draw_polyline(pen, points) 

Отрисовывает полилинию.

Parameters:

ПараметрТипОписание
penPenКарандаш, определяющий цвет, ширину и стиль фигуры.
pointsPoint[]Точки.

Method: draw_rectangle(pen, rectangle)

 draw_rectangle(pen, rectangle) 

Отрисовывает прямоугольник.

Parameters:

ПараметрТипОписание
penPenКарандаш, определяющий цвет, ширину и стиль фигуры.
rectangleRectangleПрямоугольник для отрисовки.

Method: draw_rectangle(pen, x, y, width, height)

 draw_rectangle(pen, x, y, width, height) 

Отрисовывает прямоугольник.

Parameters:

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

See also:

Example # 1: This example shows how to create a WMF image and draw some geometric shapes u…

Example # 2: This example shows how to create a EMF image and draw some geometric shapes o…

Method: draw_string(string, font, color, x, y)

 draw_string(string, font, color, x, y) 

Отрисовывает строку.

Parameters:

ПараметрТипОписание
stringstringСтрока.
fontFontШрифт, определяющий формат текста строки.
colorColorЦвет текста.
xintКоордината x верхнего левого угла нарисованного текста.
yintКоордината y верхнего левого угла нарисованного текста.

See also:

Example # 1: This example shows how to create a WMF image and draw some geometric shapes u…

Example # 2: This example shows how to create a EMF image and draw some geometric shapes o…

Method: draw_string(string, font, color, x, y, angle)

 draw_string(string, font, color, x, y, angle) 

Отрисовывает строку.

Parameters:

ПараметрТипОписание
stringstringСтрока.
fontFontШрифт, определяющий формат текста строки.
colorColorЦвет текста.
xintКоордината x верхнего левого угла нарисованного текста.
yintКоордината y верхнего левого угла нарисованного текста.
уголfloatУгол в градусах между вектором наклона и осью X устройства.
Вектор наклона параллелен базовой линии строки текста.

Method: exclude_clip(rect)

 exclude_clip(rect) 

Обновляет область отсечения этого Graphics, исключая область, указанную структурой Rectangle.

Parameters:

ПараметрТипОписание
rectRectangleСтруктура прямоугольника, указывающая прямоугольник, исключаемый из области отсечения.

Method: exclude_clip(region)

 exclude_clip(region) 

Обновляет область отсечения этого Graphics, исключая область, указанную объектом Region.

Parameters:

ПараметрТипОписание
regionRegionОбласть, указывающая регион, исключаемый из области отсечения.

Method: exclude_clip_rect(rect)

 exclude_clip_rect(rect) 

Обновляет область отсечения этого Graphics, исключая область, указанную структурой Rectangle.

Parameters:

ПараметрТипОписание
rectRectangleСтруктура прямоугольника, указывающая прямоугольник, исключаемый из области отсечения.

Method: exclude_clip_rgn(region)

 exclude_clip_rgn(region) 

Обновляет область отсечения этого Graphics, исключая область, указанную объектом Region.

Parameters:

ПараметрТипОписание
regionRegionОбласть, указывающая регион, исключаемый из области отсечения.

Method: fill_ellipse(brush, rect)

 fill_ellipse(brush, rect) 

Заполняет эллипс.

Parameters:

ПараметрТипОписание
brushBrushКисть, определяющая характеристики заливки.
rectRectangleГраницы эллипса.

Method: fill_path(pen, brush, path)

 fill_path(pen, brush, path) 

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

Parameters:

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

See also:

Example # 1: This example shows how to create a WMF image and draw some geometric shapes u…

Example # 2: This example shows how to create a EMF image and draw some geometric shapes o…

Method: fill_pie(brush, rect, start_angle, sweep_angle)

 fill_pie(brush, rect, start_angle, sweep_angle) 

Заполняет сектор.

Parameters:

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

See also:

Example # 1: This example shows how to create a WMF image and draw some geometric shapes u…

Example # 2: This example shows how to create a EMF image and draw some geometric shapes o…

Method: fill_polygon(brush, points)

 fill_polygon(brush, points) 

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

Parameters:

ПараметрТипОписание
brushBrushКисть, определяющая характеристики заливки.
pointsPoint[]Точки.

Method: fill_polygon(brush, points, fill_mode)

 fill_polygon(brush, points, fill_mode) 

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

Parameters:

ПараметрТипОписание
brushBrushКисть, определяющая характеристики заливки.
pointsPoint[]Точки.
fill_modeFillModeРежим заливки.

Method: fill_rectangle(brush, rectangle)

 fill_rectangle(brush, rectangle) 

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

Parameters:

ПараметрТипОписание
brushBrushКисть, определяющая характеристики заливки.
rectangleRectangleПрямоугольник для заливки.

See also:

Example # 1: This example shows how to create a WMF image and draw some geometric shapes u…

Example # 2: This example shows how to create a EMF image and draw some geometric shapes o…

Method: get_transform()

 get_transform() 

Получает мировое преобразование.

Returns

ТипОписание
MatrixМатрица преобразования.

Method: intersect_clip(rect)

 intersect_clip(rect) 

Обновляет область отсечения этого Graphics до пересечения текущей области отсечения и указанной структуры Rectangle.

Parameters:

ПараметрТипОписание
rectRectangleFСтруктура прямоугольника для пересечения с текущей областью отсечения.

Method: intersect_clip(region)

 intersect_clip(region) 

Обновляет область отсечения этого Graphics до пересечения текущей области отсечения и указанного объекта Region.

Parameters:

ПараметрТипОписание
regionRegionОбласть для пересечения с текущей областью.

Method: intersect_clip_rect_f(rect)

 intersect_clip_rect_f(rect) 

Обновляет область отсечения этого Graphics до пересечения текущей области отсечения и указанной структуры Rectangle.

Parameters:

ПараметрТипОписание
rectRectangleFСтруктура прямоугольника для пересечения с текущей областью отсечения.

Method: intersect_clip_rgn(region)

 intersect_clip_rgn(region) 

Обновляет область отсечения этого Graphics до пересечения текущей области отсечения и указанного объекта Region.

Parameters:

ПараметрТипОписание
regionRegionОбласть для пересечения с текущей областью.

Method: multiply_transform(matrix)

 multiply_transform(matrix) 

Умножает мировое преобразование этого Graphics на указанный Matrix.

Parameters:

ПараметрТипОписание
matrixMatrixМатрица, умножающая мировое преобразование.

Method: multiply_transform(matrix, order)

 multiply_transform(matrix, order) 

Умножает мировое преобразование этого Graphics на указанный Matrix в указанном порядке.

Parameters:

ПараметрТипОписание
matrixMatrixМатрица, умножающая мировое преобразование.
orderMatrixOrderПорядок умножения.

Method: rotate_transform(angle)

 rotate_transform(angle) 

Применяет указанное вращение к матрице преобразования этого Graphics.

Parameters:

ПараметрТипОписание
уголfloatУгол вращения в градусах.

Method: rotate_transform(angle, center, order)

 rotate_transform(angle, center, order) 

Применяет указанное вращение к матрице преобразования этого Graphics в указанном порядке.

Parameters:

ПараметрТипОписание
уголfloatУгол вращения в градусах.
centerPointFЦентр вращения.
orderMatrixOrderУказывает, добавляется ли вращение к матричной трансформации в конец или в начало..

Method: scale_transform(sx, sy)

 scale_transform(sx, sy) 

Применяет указанную операцию масштабирования к матрице преобразования этого Graphics, предваряя её матрицей преобразования объекта.

Parameters:

ПараметрТипОписание
sxfloatКоэффициент масштабирования по оси x.
syfloatКоэффициент масштабирования по оси y.

Method: scale_transform(sx, sy, order)

 scale_transform(sx, sy, order) 

Применяет указанную операцию масштабирования к матрице преобразования этого Graphics в указанном порядке.

Parameters:

ПараметрТипОписание
sxfloatКоэффициент масштабирования по оси x.
syfloatКоэффициент масштабирования по оси y.
orderMatrixOrderУказывает, добавляется ли операция масштабирования к матрице преобразования в начало или в конец.

Method: set_transform(transform)

 set_transform(transform) 

Устанавливает преобразование.

Parameters:

ПараметрТипОписание
transformMatrixНовая матрица преобразования.

Method: translate_transform(x, y)

 translate_transform(x, y) 

Изменяет начало координат, предваряя указанное перемещение матрицей преобразования этого Graphics.

Parameters:

ПараметрТипОписание
xfloatКоордината x трансляции.
yfloatКоордината y трансляции.

Method: translate_transform(x, y, order)

 translate_transform(x, y, order) 

Изменяет начало координат, применяя указанное перемещение к матрице преобразования этого Graphics в указанном порядке.

Parameters:

ПараметрТипОписание
xfloatКоордината x трансляции.
yfloatКоордината y трансляции.
orderMatrixOrderУказывает, добавляется ли трансляция к матрице преобразования в начало или в конец.

Examples

This example shows how to create a WMF image and draw some geometric shapes using WmfRecorderGraphics2D.


from os.path import join as path_join
import aspose.pycore as aspycore
from aspose.imaging import Rectangle, Pen, Color, Point, Image, RasterImage, GraphicsUnit, Font, FontStyle, Figure,\
   GraphicsPath, RectangleF, PointF
from aspose.imaging.brushes import SolidBrush
from aspose.imaging.shapes import ArcShape, BezierShape, PolygonShape, RectangleShape
from aspose.imaging.fileformats.wmf.graphics import WmfRecorderGraphics2D
from aspose.imaging.imageoptions import SvgRasterizationOptions, PngOptions

dir_ = "c:\\temp"
image_width = 600
image_height = 400
# Это значение разрешения экрана по умолчанию.
dpi = 96
frame = Rectangle(0, 0, image_width, image_height)
# Создать изображение WMF.
graphics = WmfRecorderGraphics2D(frame, dpi)
# Нарисовать черный прямоугольник вдоль границ изображения с использованием черного пера шириной 1 пиксель.
graphics.draw_rectangle(Pen(Color.black, 1), 0, 0, image_width, image_height)
# Заполнить прямоугольник цветом white-smoke.
graphics.fill_rectangle(SolidBrush(Color.white_smoke), Rectangle(10, 10, 580, 380))
# Нарисовать две диагональные линии с использованием пера darkgreen шириной 1 пиксель.
graphics.draw_line(Pen(Color.dark_green, 1), 0, 0, image_width, image_height)
graphics.draw_line(Pen(Color.dark_green, 1), 0, image_height, image_width, 0)
# Нарисовать дугу внутри прямоугольника {0, 0, 200, 200} с использованием синего пера шириной 2 пикселя.
graphics.draw_arc(Pen(Color.blue, 2), Rectangle(0, 0, 200, 200), 90, 270)
# Заполнить дугу
graphics.fill_pie(SolidBrush(Color.light_sky_blue), Rectangle(0, 0, 150, 150), 90, 270)
# Нарисовать кубический безье с использованием красного пера шириной 2 пикселя.
graphics.draw_cubic_bezier(Pen(Color.red, 2), Point(0, 0), Point(200, 133), Point(400, 166), Point(600, 400))
# Нарисовать растровое изображение заданного размера в указанном месте.
# Изображение масштабируется, чтобы соответствовать требуемому прямоугольнику.
with aspycore.as_of(Image.load(path_join(dir_, "sample.bmp")), RasterImage) as image_to_draw:
	graphics.draw_image(image_to_draw, Rectangle(400, 200, 100, 50), Rectangle(0, 0, image_width, image_height), GraphicsUnit.PIXEL)

# Нарисовать строку текста
graphics.draw_string("Hello World!", Font("Arial", 48, FontStyle.REGULAR), Color.dark_red, 200, 300)
# Создать путь для заполнения
figure_to_fill = Figure()
figure_to_fill.is_closed = True
path_to_fill = GraphicsPath()
path_to_fill.add_figure(figure_to_fill)
figure_to_fill.add_shapes([ArcShape(Rectangle(400, 0, 200, 100), 45, 300),
	BezierShape([PointF(300, 200), PointF(400, 200), PointF(500, 100), Aspose.Imaging.PointF(600, 200)]), 
	PolygonShape([PointF(300, 100)]), RectangleShape(RectangleF(0, 100, 200, 200))])
# Заполнить путь, используя желтую кисть и зеленое перо для обводки
graphics.fill_path(Pen(Color.green, 2), SolidBrush(Color.yellow), path_to_fill)
# Создать путь для рисования
path_to_draw = GraphicsPath()
figure_to_draw = Figure()
path_to_draw.add_figure(figure_to_draw)
figure_to_draw.add_shapes([ArcShape(RectangleF(200, 200, 200, 200), 0, 360)])
# Нарисовать путь с использованием оранжевого пера шириной 5 пикселей.
graphics.draw_path(Pen(Color.orange, 5), path_to_draw)
# Чтобы растеризовать SVG, необходимо указать параметры растеризации.
rasterization_options = SvgRasterizationOptions()
save_options = PngOptions()
save_options.vector_rasterization_options = rasterization_options
# Получить окончательное изображение WMF, включающее все команды рисования
with graphics.end_recording() as wmf_image:
	wmf_image.save(path_join(dir_, "test.output.wmf"))

This example shows how to create a EMF image and draw some geometric shapes on it using EmfRecorderGraphics2D.


import aspose.pycore as aspycore
from aspose.imaging import Rectangle, Pen, Color, Point, Image, RasterImage, GraphicsUnit, Font, FontStyle, Figure, GraphicsPath,\
	PointF, RectangleF, Size
from aspose.imaging.brushes import SolidBrush
from aspose.imaging.shapes import ArcShape, BezierShape, PolygonShape, RectangleShape
from aspose.imaging.imageoptions import SvgRasterizationOptions, PngOptions
from aspose.imaging.fileformats.emf.graphics import EmfRecorderGraphics2D
from os.path import join

dir_: str = "c:\\temp"
# Размер изображения в пикселях
device_width: int = 600
device_height: int = 400
# Размер изображения в миллиметрах
device_width_mm = device_width // 100
device_height_mm = device_height // 100
frame = Rectangle(0, 0, device_width, device_height)
# Создать изображение EMF.
graphics = EmfRecorderGraphics2D(frame, Size(device_width, device_height), Size(device_width_mm, device_height_mm))
# Нарисовать черный прямоугольник вдоль границ изображения с использованием черного пера шириной 1 пиксель.
graphics.draw_rectangle(Pen(Color.black, 1), 0, 0, device_width, device_height)
# Заполнить прямоугольник цветом white-smoke.
graphics.fill_rectangle(SolidBrush(Color.white_smoke), Rectangle(10, 10, 580, 380))
# Нарисовать две диагональные линии с использованием пера darkgreen шириной 1 пиксель.
graphics.draw_line(Pen(Color.dark_green, 1), 0, 0, device_width, device_height)
graphics.draw_line(Pen(Color.dark_green, 1), 0, device_height, device_width, 0)
# Нарисовать дугу внутри прямоугольника {0, 0, 200, 200} с использованием синего пера шириной 2 пикселя.
graphics.draw_arc(Pen(Color.blue, 2), Rectangle(0, 0, 200, 200), 90, 270)
# Заполнить дугу
graphics.fill_pie(SolidBrush(Color.light_sky_blue), Rectangle(0, 0, 150, 150), 90, 270)
# Нарисовать кубический безье с использованием красного пера шириной 2 пикселя.
graphics.draw_cubic_bezier(Pen(Color.red, 2), Point(0, 0), Point(200, 133), Point(400, 166), Point(600, 400))

# Нарисовать растровое изображение заданного размера в указанном месте.
# Изображение масштабируется, чтобы соответствовать требуемому прямоугольнику.
with aspycore.as_of(Image.load(join(dir_, "sample.bmp")), RasterImage) as image_to_draw:
	graphics.draw_image(image_to_draw, Rectangle(400, 200, 100, 50), Rectangle(0, 0, device_width, device_height), GraphicsUnit.PIXEL)

# Нарисовать строку текста
graphics.draw_string("Hello World!", Font("Arial", 48, FontStyle.REGULAR), Color.dark_red, 200, 300)

# Создать путь для заполнения
figure_to_fill = Figure()
figure_to_fill.is_closed = True
path_to_fill = GraphicsPath()
path_to_fill.add_figure(figure_to_fill)
figure_to_fill.add_shapes([ArcShape(Rectangle(400, 0, 200, 100), 45, 300), BezierShape([PointF(300, 200), PointF(400, 200), PointF(500, 100), PointF(600, 200)]), PolygonShape([PointF(300, 100)]), RectangleShape(RectangleF(0, 100, 200, 200))])

# Заполнить путь, используя желтую кисть и зеленое перо для обводки
graphics.fill_path(Pen(Color.green, 2), SolidBrushColor.yellow), path_to_fill)

# Создать путь для рисования
path_to_draw = GraphicsPath()
figure_to_draw = Figure()
path_to_draw.add_figure(figure_to_draw)
figure_to_draw.add_shapes([ArcShape(RectangleF(200, 200, 200, 200), 0, 360)])

# Нарисовать путь с использованием оранжевого пера шириной 5 пикселей.
graphics.draw_path(Pen(Color.orange, 5), path_to_draw)

# Получить окончательное изображение WMF, включающее все команды рисования
with graphics.end_recording() as emf_image:
	emf_image.save(join(dir_, "test.output.emf"))