Classe EmfRecorderGraphics2D

Summary: The Emf recorder graphics

Module: aspose.imaging.fileformats.emf.graphics

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

Inheritance: MetafileRecorderGraphics2D

Constructors

NameDescrizione
EmfRecorderGraphics2D(frame, device_size, device_size_mm)Inizializza una nuova istanza della classe EmfRecorderGraphics2D.

Properties

NameTypeAccessDescrizione
background_colorColorr/wOttiene o imposta il colore dello sfondo.
background_modeEmfBackgroundModer/wOttiene o imposta la modalità di sfondo.
clipRegionr/wOttiene o imposta una Regione che limita l’area di disegno di questo Graphics
clip_boundsRectangleFrOttiene i limiti di ritaglio.

Methods

NameDescrizione
clear()Cancella lo stato dell’oggetto graphics
draw_arc(pen, rect, start_angle, arc_angle)Disegna un arco che rappresenta una porzione di un’ellisse specificata da una struttura Rectangle.
draw_cubic_bezier(pen, pt1, pt2, pt3, pt4)Disegna la curva Bézier cubica.
draw_ellipse(pen, rect)Disegna l’ellisse.
draw_image(image, dest_rect, src_rect, src_unit)Disegna la porzione specificata dell’Image specificata nella posizione specificata e con le dimensioni specificate.
draw_image(image, location)Disegna l’Image specificata, usando la sua dimensione fisica originale, nella posizione specificata.
draw_image(image_bytes, dest_rect, src_unit)Disegna l’immagine.
draw_image(stream, dest_rect, src_unit)Disegna l’immagine.
draw_image_from_bytes(image_bytes, dest_rect, src_unit)Disegna l’immagine.
draw_image_from_stream(stream, dest_rect, src_unit)Disegna l’immagine.
draw_line(pen, pt1, pt2)Disegna la linea.
draw_line(pen, x1, y1, x2, y2)Disegna la linea.
draw_path(pen, path)Disegna il percorso.
draw_pie(pen, rect, start_angle, sweep_angle)Disegna la torta.
draw_poly_cubic_bezier(pen, points)Disegna il bezier cubico poligonale.
draw_polygon(pen, points)Disegna il poligono.
draw_polyline(pen, points)Disegna la polilinea.
draw_rectangle(pen, rectangle)Disegna il rettangolo.
draw_rectangle(pen, x, y, width, height)Disegna il rettangolo.
draw_string(string, font, color, x, y)Disegna la stringa.
draw_string(string, font, color, x, y, angle)Disegna la stringa.
end_recording()Termina la registrazione.
exclude_clip(rect)Aggiorna la regione di ritaglio di questo Graphics per escludere l’area specificata da una struttura Rectangle.
exclude_clip(region)Aggiorna la regione di ritaglio di questo Graphics per escludere l’area specificata da una Region.
exclude_clip_rect(rect)Aggiorna la regione di ritaglio di questo Graphics per escludere l’area specificata da una struttura Rectangle.
exclude_clip_rgn(region)Aggiorna la regione di ritaglio di questo Graphics per escludere l’area specificata da una Region.
fill_ellipse(brush, rect)Riempie l’ellisse.
fill_path(pen, brush, path)Riempie il percorso.
fill_pie(brush, rect, start_angle, sweep_angle)Riempie la torta.
fill_polygon(brush, points)Riempie il poligono.
fill_polygon(brush, points, fill_mode)Riempie il poligono.
fill_rectangle(brush, rectangle)Riempie il rettangolo.
from_emf_image(emf_image)Ottiene un’istanza di EmfRecorderGraphics2D contenente tutti i record dell’immagine Emf.
get_transform()Ottiene la trasformazione del mondo.
intersect_clip(rect)Aggiorna la regione di ritaglio di questo Graphics all’intersezione della regione di ritaglio corrente e della struttura Rectangle specificata.
intersect_clip(region)Aggiorna la regione di ritaglio di questo Graphics all’intersezione della regione di ritaglio corrente e della Region specificata.
intersect_clip_rect_f(rect)Aggiorna la regione di ritaglio di questo Graphics all’intersezione della regione di ritaglio corrente e della struttura Rectangle specificata.
intersect_clip_rgn(region)Aggiorna la regione di ritaglio di questo Graphics all’intersezione della regione di ritaglio corrente e della Region specificata.
multiply_transform(matrix)Moltiplica la trasformazione del mondo di questo Graphics per la Matrix specificata.
multiply_transform(matrix, order)Moltiplica la trasformazione del mondo di questo Graphics per la Matrix specificata nell’ordine specificato.
reset_clip()Ripristina il ritaglio.
rotate_transform(angle)Applica la rotazione specificata alla matrice di trasformazione di questo Graphics.
rotate_transform(angle, center, order)Applica la rotazione specificata alla matrice di trasformazione di questo Graphics nell’ordine specificato.
scale_transform(sx, sy)Applica l’operazione di scaling specificata alla matrice di trasformazione di questo Graphics anteponendola alla matrice di trasformazione dell’oggetto.
scale_transform(sx, sy, order)Applica l’operazione di scaling specificata alla matrice di trasformazione di questo Graphics nell’ordine specificato.
set_transform(transform)Imposta la trasformazione.
translate_transform(x, y)Modifica l’origine del sistema di coordinate anteponendo la traslazione specificata alla matrice di trasformazione di questo Graphics.
translate_transform(x, y, order)Modifica l’origine del sistema di coordinate applicando la traslazione specificata alla matrice di trasformazione di questo Graphics nell’ordine specificato.

Constructor: EmfRecorderGraphics2D(frame, device_size, device_size_mm)

 EmfRecorderGraphics2D(frame, device_size, device_size_mm) 

Inizializza una nuova istanza della classe EmfRecorderGraphics2D.

Parameters:

ParametroTipoDescrizione
frameRectangleIl fotogramma.
device_sizeSizeDimensione del dispositivo.
device_size_mmSizeLa dimensione del dispositivo in mm.

See also:

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

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

 draw_arc(pen, rect, start_angle, arc_angle) 

Disegna un arco che rappresenta una porzione di un’ellisse specificata da una struttura Rectangle.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
rectRectangleI confini dell’ellisse.
start_anglefloatAngolo in gradi misurato in senso orario dall’asse x al punto di partenza dell’arco.
arc_anglefloatAngolo in gradi misurato in senso orario dal parametro startAngle al punto finale dell’arco.

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

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

Disegna la curva Bézier cubica.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
pt1PointIl punto di partenza della curva.
pt2PointIl primo punto di controllo per la curva.
pt3PointIl secondo punto di controllo per la curva.
pt4PointIl punto finale della curva.

Method: draw_ellipse(pen, rect)

 draw_ellipse(pen, rect) 

Disegna l’ellisse.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
rectRectangleI confini dell’ellisse.

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

 draw_image(image, dest_rect, src_rect, src_unit) 

Disegna la porzione specificata dell’Image specificata nella posizione specificata e con le dimensioni specificate.

Parameters:

ParametroTipoDescrizione
imageRasterImageL’immagine da disegnare.
dest_rectRectangleStruttura Rectangle che specifica la posizione e le dimensioni dell’immagine disegnata. L’immagine è scalata per adattarsi al rettangolo.
src_rectRectangleStruttura Rectangle che specifica la porzione dell’oggetto immagine da disegnare.
src_unitGraphicsUnitLe unità di misura utilizzate dal parametro srcRect.

Method: draw_image(image, location)

 draw_image(image, location) 

Disegna l’Image specificata, usando la sua dimensione fisica originale, nella posizione specificata.

Parameters:

ParametroTipoDescrizione
imageRasterImageL’immagine da disegnare.
locationPointLa posizione dell’angolo superiore sinistro dell’immagine disegnata.

Method: draw_image(image_bytes, dest_rect, src_unit)

 draw_image(image_bytes, dest_rect, src_unit) 

Disegna l’immagine.

Parameters:

ParametroTipoDescrizione
image_bytesSystem.ByteI byte dell’immagine.
dest_rectRectangleIl rettangolo di destinazione.
src_unitGraphicsUnitL’unità di origine.

Method: draw_image(stream, dest_rect, src_unit)

 draw_image(stream, dest_rect, src_unit) 

Disegna l’immagine.

Parameters:

ParametroTipoDescrizione
stream_io.BufferedRandomLo stream.
dest_rectRectangleIl rettangolo di destinazione.
src_unitGraphicsUnitL’unità di origine.

Method: draw_image_from_bytes(image_bytes, dest_rect, src_unit)

 draw_image_from_bytes(image_bytes, dest_rect, src_unit) 

Disegna l’immagine.

Parameters:

ParametroTipoDescrizione
image_bytesSystem.ByteI byte dell’immagine.
dest_rectRectangleIl rettangolo di destinazione.
src_unitGraphicsUnitL’unità di origine.

Method: draw_image_from_stream(stream, dest_rect, src_unit)

 draw_image_from_stream(stream, dest_rect, src_unit) 

Disegna l’immagine.

Parameters:

ParametroTipoDescrizione
stream_io.BufferedRandomLo stream.
dest_rectRectangleIl rettangolo di destinazione.
src_unitGraphicsUnitL’unità di origine.

Method: draw_line(pen, pt1, pt2)

 draw_line(pen, pt1, pt2) 

Disegna la linea.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
pt1PointIl primo punto.
pt2PointIl secondo punto.

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

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

Disegna la linea.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
x1intLa coordinata x del primo punto.
y1intLa coordinata y del primo punto.
x2intLa coordinata x del secondo punto.
y2intLa coordinata y del secondo punto.

Method: draw_path(pen, path)

 draw_path(pen, path) 

Disegna il percorso.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
pathGraphicsPathIl percorso da disegnare.

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

 draw_pie(pen, rect, start_angle, sweep_angle) 

Disegna la torta.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
rectRectangleI confini dell’ellisse.
start_anglefloatAngolo in gradi misurato in senso orario dall’asse x al punto di partenza dell’arco.
sweep_anglefloatAngolo in gradi misurato in senso orario dal parametro startAngle al punto finale dell’arco.

Method: draw_poly_cubic_bezier(pen, points)

 draw_poly_cubic_bezier(pen, points) 

Disegna il bezier cubico poligonale.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
pointsPoint[]I punti.

Method: draw_polygon(pen, points)

 draw_polygon(pen, points) 

Disegna il poligono.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
pointsPoint[]I punti.

Method: draw_polyline(pen, points)

 draw_polyline(pen, points) 

Disegna la polilinea.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
pointsPoint[]I punti.

Method: draw_rectangle(pen, rectangle)

 draw_rectangle(pen, rectangle) 

Disegna il rettangolo.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
rectangleRectangleIl rettangolo da disegnare.

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

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

Disegna il rettangolo.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
xintLa coordinata x dell’angolo in alto a sinistra del rettangolo da disegnare.
yintLa coordinata y dell’angolo in alto a sinistra del rettangolo da disegnare.
widthintLa larghezza del rettangolo da disegnare.
heightintL’altezza del rettangolo da disegnare.

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

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

Disegna la stringa.

Parameters:

ParametroTipoDescrizione
stringstringLa stringa.
fontFontCarattere che definisce il formato del testo della stringa.
colorColorIl colore del testo.
xintLa coordinata x dell’angolo in alto a sinistra del testo disegnato.
yintLa coordinata y dell’angolo in alto a sinistra del testo disegnato.

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

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

Disegna la stringa.

Parameters:

ParametroTipoDescrizione
stringstringLa stringa.
fontFontCarattere che definisce il formato del testo della stringa.
colorColorIl colore del testo.
xintLa coordinata x dell’angolo in alto a sinistra del testo disegnato.
yintLa coordinata y dell’angolo in alto a sinistra del testo disegnato.
anglefloatL’angolo in gradi, tra il vettore di escapement e l’asse x del dispositivo.
Il vettore di escapement è parallelo alla linea di base di una riga di testo.

Method: end_recording()

 end_recording() 

Termina la registrazione.

Returns

TipoDescrizione
EmfImageL’immagine risultante.

Method: exclude_clip(rect)

 exclude_clip(rect) 

Aggiorna la regione di ritaglio di questo Graphics per escludere l’area specificata da una struttura Rectangle.

Parameters:

ParametroTipoDescrizione
rectRectangleStruttura rettangolo che specifica il rettangolo da escludere dalla regione di clip.

Method: exclude_clip(region)

 exclude_clip(region) 

Aggiorna la regione di ritaglio di questo Graphics per escludere l’area specificata da una Region.

Parameters:

ParametroTipoDescrizione
regionRegionRegione che specifica la regione da escludere dalla regione di clip.

Method: exclude_clip_rect(rect)

 exclude_clip_rect(rect) 

Aggiorna la regione di ritaglio di questo Graphics per escludere l’area specificata da una struttura Rectangle.

Parameters:

ParametroTipoDescrizione
rectRectangleStruttura rettangolo che specifica il rettangolo da escludere dalla regione di clip.

Method: exclude_clip_rgn(region)

 exclude_clip_rgn(region) 

Aggiorna la regione di ritaglio di questo Graphics per escludere l’area specificata da una Region.

Parameters:

ParametroTipoDescrizione
regionRegionRegione che specifica la regione da escludere dalla regione di clip.

Method: fill_ellipse(brush, rect)

 fill_ellipse(brush, rect) 

Riempie l’ellisse.

Parameters:

ParametroTipoDescrizione
brushBrushPennello che determina le caratteristiche del riempimento.
rectRectangleI confini dell’ellisse.

Method: fill_path(pen, brush, path)

 fill_path(pen, brush, path) 

Riempie il percorso.

Parameters:

ParametroTipoDescrizione
penPenPenna che determina il colore, la larghezza e lo stile della figura.
brushBrushPennello che determina le caratteristiche del riempimento.
pathGraphicsPathIl percorso da riempire.

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

 fill_pie(brush, rect, start_angle, sweep_angle) 

Riempie la torta.

Parameters:

ParametroTipoDescrizione
brushBrushPennello che determina le caratteristiche del riempimento.
rectRectangleI confini dell’ellisse.
start_anglefloatAngolo in gradi misurato in senso orario dall’asse x al punto di partenza dell’arco.
sweep_anglefloatAngolo in gradi misurato in senso orario dal parametro startAngle al punto finale dell’arco.

Method: fill_polygon(brush, points)

 fill_polygon(brush, points) 

Riempie il poligono.

Parameters:

ParametroTipoDescrizione
brushBrushPennello che determina le caratteristiche del riempimento.
pointsPoint[]I punti.

Method: fill_polygon(brush, points, fill_mode)

 fill_polygon(brush, points, fill_mode) 

Riempie il poligono.

Parameters:

ParametroTipoDescrizione
brushBrushPennello che determina le caratteristiche del riempimento.
pointsPoint[]I punti.
fill_modeFillModeLa modalità di riempimento.

Method: fill_rectangle(brush, rectangle)

 fill_rectangle(brush, rectangle) 

Riempie il rettangolo.

Parameters:

ParametroTipoDescrizione
brushBrushPennello che determina le caratteristiche del riempimento.
rectangleRectangleIl rettangolo da riempire.

Method: from_emf_image(emf_image) [static]

 from_emf_image(emf_image) 

Ottiene un’istanza di EmfRecorderGraphics2D contenente tutti i record dell’immagine Emf.

Parameters:

ParametroTipoDescrizione
emf_imageEmfImageL’immagine Emf da cui leggere i record.

Returns

TipoDescrizione
EmfRecorderGraphics2DUn’istanza di EmfRecorderGraphics2D

Method: get_transform()

 get_transform() 

Ottiene la trasformazione del mondo.

Returns

TipoDescrizione
MatrixLa matrice di trasformazione.

Method: intersect_clip(rect)

 intersect_clip(rect) 

Aggiorna la regione di ritaglio di questo Graphics all’intersezione della regione di ritaglio corrente e della struttura Rectangle specificata.

Parameters:

ParametroTipoDescrizione
rectRectangleFStruttura rettangolo da intersecare con la regione di clip corrente.

Method: intersect_clip(region)

 intersect_clip(region) 

Aggiorna la regione di ritaglio di questo Graphics all’intersezione della regione di ritaglio corrente e della Region specificata.

Parameters:

ParametroTipoDescrizione
regionRegionRegione da intersecare con la regione corrente.

Method: intersect_clip_rect_f(rect)

 intersect_clip_rect_f(rect) 

Aggiorna la regione di ritaglio di questo Graphics all’intersezione della regione di ritaglio corrente e della struttura Rectangle specificata.

Parameters:

ParametroTipoDescrizione
rectRectangleFStruttura rettangolo da intersecare con la regione di clip corrente.

Method: intersect_clip_rgn(region)

 intersect_clip_rgn(region) 

Aggiorna la regione di ritaglio di questo Graphics all’intersezione della regione di ritaglio corrente e della Region specificata.

Parameters:

ParametroTipoDescrizione
regionRegionRegione da intersecare con la regione corrente.

Method: multiply_transform(matrix)

 multiply_transform(matrix) 

Moltiplica la trasformazione del mondo di questo Graphics per la Matrix specificata.

Parameters:

ParametroTipoDescrizione
matrixMatrixLa matrice che moltiplica la trasformazione globale.

Method: multiply_transform(matrix, order)

 multiply_transform(matrix, order) 

Moltiplica la trasformazione del mondo di questo Graphics per la Matrix specificata nell’ordine specificato.

Parameters:

ParametroTipoDescrizione
matrixMatrixLa matrice che moltiplica la trasformazione globale.
orderMatrixOrderL’ordine della moltiplicazione.

Method: rotate_transform(angle)

 rotate_transform(angle) 

Applica la rotazione specificata alla matrice di trasformazione di questo Graphics.

Parameters:

ParametroTipoDescrizione
anglefloatAngolo di rotazione in gradi.

Method: rotate_transform(angle, center, order)

 rotate_transform(angle, center, order) 

Applica la rotazione specificata alla matrice di trasformazione di questo Graphics nell’ordine specificato.

Parameters:

ParametroTipoDescrizione
anglefloatAngolo di rotazione in gradi.
centerPointFIl centro di rotazione.
orderMatrixOrderSpecifica se la rotazione è aggiunta o anteposta alla trasformazione della matrice..

Method: scale_transform(sx, sy)

 scale_transform(sx, sy) 

Applica l’operazione di scaling specificata alla matrice di trasformazione di questo Graphics anteponendola alla matrice di trasformazione dell’oggetto.

Parameters:

ParametroTipoDescrizione
sxfloatFattore di scala nella direzione x.
syfloatFattore di scala nella direzione y.

Method: scale_transform(sx, sy, order)

 scale_transform(sx, sy, order) 

Applica l’operazione di scaling specificata alla matrice di trasformazione di questo Graphics nell’ordine specificato.

Parameters:

ParametroTipoDescrizione
sxfloatFattore di scala nella direzione x.
syfloatFattore di scala nella direzione y.
orderMatrixOrderSpecifica se l’operazione di scala è anteposta o aggiunta alla matrice di trasformazione.

Method: set_transform(transform)

 set_transform(transform) 

Imposta la trasformazione.

Parameters:

ParametroTipoDescrizione
transformMatrixLa nuova matrice di trasformazione.

Method: translate_transform(x, y)

 translate_transform(x, y) 

Modifica l’origine del sistema di coordinate anteponendo la traslazione specificata alla matrice di trasformazione di questo Graphics.

Parameters:

ParametroTipoDescrizione
xfloatLa coordinata x della traslazione.
yfloatLa coordinata y della traslazione.

Method: translate_transform(x, y, order)

 translate_transform(x, y, order) 

Modifica l’origine del sistema di coordinate applicando la traslazione specificata alla matrice di trasformazione di questo Graphics nell’ordine specificato.

Parameters:

ParametroTipoDescrizione
xfloatLa coordinata x della traslazione.
yfloatLa coordinata y della traslazione.
orderMatrixOrderSpecifica se la traslazione è anteposta o aggiunta alla matrice di trasformazione.

Examples

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"
# La dimensione dell'immagine in pixel
device_width: int = 600
device_height: int = 400
# La dimensione dell'immagine in millimetri
device_width_mm = device_width // 100
device_height_mm = device_height // 100
frame = Rectangle(0, 0, device_width, device_height)
# Crea un'immagine EMF.
graphics = EmfRecorderGraphics2D(frame, Size(device_width, device_height), Size(device_width_mm, device_height_mm))
# Disegna un rettangolo nero lungo i bordi dell'immagine usando una penna nera larga 1 pixel.
graphics.draw_rectangle(Pen(Color.black, 1), 0, 0, device_width, device_height)
# Riempi un rettangolo con il colore white-smoke.
graphics.fill_rectangle(SolidBrush(Color.white_smoke), Rectangle(10, 10, 580, 380))
# Disegna due linee diagonali usando una penna darkgreen larga 1 pixel.
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)
# Disegna un arco all'interno del rettangolo {0, 0, 200, 200} usando una penna blu larga 2 pixel.
graphics.draw_arc(Pen(Color.blue, 2), Rectangle(0, 0, 200, 200), 90, 270)
# Riempi un arco
graphics.fill_pie(SolidBrush(Color.light_sky_blue), Rectangle(0, 0, 150, 150), 90, 270)
# Disegna un bezier cubico usando una penna rossa larga 2 pixel.
graphics.draw_cubic_bezier(Pen(Color.red, 2), Point(0, 0), Point(200, 133), Point(400, 166), Point(600, 400))

# Disegna un'immagine raster delle dimensioni specificate nella posizione specificata.
# L'immagine è scalata per adattarsi al rettangolo desiderato.
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)

# Disegna una stringa di testo
graphics.draw_string("Hello World!", Font("Arial", 48, FontStyle.REGULAR), Color.dark_red, 200, 300)

# Crea un percorso da riempire
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))])

# Riempi il percorso usando un pennello giallo e una penna verde per disegnare il contorno
graphics.fill_path(Pen(Color.green, 2), SolidBrushColor.yellow), path_to_fill)

# Crea un percorso da disegnare
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)])

# Disegna il percorso usando una penna arancione larga 5 pixel.
graphics.draw_path(Pen(Color.orange, 5), path_to_draw)

# Ottieni l'immagine WMF finale che include tutti i comandi di disegno
with graphics.end_recording() as emf_image:
	emf_image.save(join(dir_, "test.output.emf"))