MetafileRecorderGraphics2D

Inheritance: java.lang.Object

public abstract class MetafileRecorderGraphics2D

La grafica del registratore di metafile

Costruttori

CostruttoreDescrizione
MetafileRecorderGraphics2D()

Metodi

MetodoDescrizione
getClip()Ottiene o imposta una Region che limita l’area di disegno di questo Graphics
setClip(Region value)Ottiene o imposta una Region che limita l’area di disegno di questo Graphics
getClipBounds()Ottiene i limiti di clip.
getBackgroundColor()Ottiene il colore dello sfondo.
setBackgroundColor(Color value)Imposta il colore dello sfondo.
clear()Cancella lo stato dell’oggetto graphics
drawArc(Pen pen, Rectangle rect, float startAngle, float arcAngle)Disegna un arco che rappresenta una porzione di un’ellisse specificata da una struttura Rectangle.
drawCubicBezier(Pen pen, Point pt1, Point pt2, Point pt3, Point pt4)Disegna il bezier cubico.
drawPolyCubicBezier(Pen pen, Point[] points)Disegna il poly cubic bezier.
drawEllipse(Pen pen, Rectangle rect)Disegna l’ellisse.
fillEllipse(Brush brush, Rectangle rect)Riempie l’ellisse.
drawImage(RasterImage image, Point location)Disegna l’Image specificata, usando la sua dimensione fisica originale, nella posizione specificata.
drawImage(byte[] imageBytes, Rectangle destRect, int srcUnit)Disegna l’immagine.
drawImage(InputStream stream, Rectangle destRect, int srcUnit)Disegna l’immagine.
drawImage(RasterImage image, Rectangle destRect, Rectangle srcRect, int srcUnit)Disegna la porzione specificata dell’Image specificata nella posizione specificata e con la dimensione specificata.
drawLine(Pen pen, int x1, int y1, int x2, int y2)Disegna la linea.
drawLine(Pen pen, Point pt1, Point pt2)Disegna la linea.
drawPolyline(Pen pen, Point[] points)Disegna la polilinea.
drawPath(Pen pen, GraphicsPath path)Disegna il percorso.
fillPath(Pen pen, Brush brush, GraphicsPath path)Riempie il percorso.
drawPie(Pen pen, Rectangle rect, float startAngle, float sweepAngle)Disegna la torta.
fillPie(Brush brush, Rectangle rect, float startAngle, float sweepAngle)Riempie la torta.
drawPolygon(Pen pen, Point[] points)Disegna il poligono.
fillPolygon(Brush brush, Point[] points)Riempie il poligono.
fillPolygon(Brush brush, Point[] points, int fillMode)Riempie il poligono.
drawRectangle(Pen pen, int x, int y, int width, int height)Disegna il rettangolo.
drawRectangle(Pen pen, Rectangle rectangle)Disegna il rettangolo.
fillRectangle(Brush brush, Rectangle rectangle)Riempie il rettangolo.
drawString(String string, Font font, Color color, int x, int y)Disegna la stringa.
drawString(String string, Font font, Color color, int x, int y, float angle)Disegna la stringa.
excludeClip(Rectangle rect)Aggiorna la regione di ritaglio di questo Graphics per escludere l’area specificata da una struttura Rectangle.
excludeClip(Region region)Aggiorna la regione di ritaglio di questo Graphics per escludere l’area specificata da una Region.
intersectClip(RectangleF rect)Aggiorna la regione di ritaglio di questo Graphics all’intersezione della regione di ritaglio corrente e della struttura Rectangle specificata.
intersectClip(Region region)Aggiorna la regione di ritaglio di questo Graphics all’intersezione della regione di ritaglio corrente e della Region specificata.
resetClip()Reimposta il ritaglio.
multiplyTransform(Matrix matrix)Moltiplica la trasformazione globale di questo Graphics per la Matrix specificata.
multiplyTransform(Matrix matrix, int order)Moltiplica la trasformazione globale di questo Graphics per la Matrix specificata nell’ordine specificato.
translateTransform(float x, float y)Modifica l’origine del sistema di coordinate anteponendo la traduzione specificata alla matrice di trasformazione di questo Graphics.
translateTransform(float x, float y, int order)Modifica l’origine del sistema di coordinate applicando la traduzione specificata alla matrice di trasformazione di questo Graphics nell’ordine specificato.
rotateTransform(float angle)Applica la rotazione specificata alla matrice di trasformazione di questo Graphics.
rotateTransform(float angle, PointF center, int order)Applica la rotazione specificata alla matrice di trasformazione di questo Graphics nell’ordine specificato.
scaleTransform(float sx, float sy)Applica l’operazione di scaling specificata alla matrice di trasformazione di questo Graphics anteponendola alla matrice di trasformazione dell’oggetto.
scaleTransform(float sx, float sy, int order)Applica l’operazione di scaling specificata alla matrice di trasformazione di questo Graphics nell’ordine specificato.
getTransform()Ottiene la trasformazione globale.
setTransform(Matrix transform)Imposta la trasformazione.

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

String dir = "c:\\temp\\";

// La dimensione dell'immagine in pixel
int deviceWidth = 600;
int deviceHeight = 400;

// La dimensione dell'immagine in millimetri
int deviceWidthMm = (int) (deviceWidth / 100f);
int deviceHeightMm = (int) (deviceHeight / 100f);

com.aspose.imaging.Rectangle frame = new com.aspose.imaging.Rectangle(0, 0, deviceWidth, deviceHeight);

// Crea un'immagine EMF.
com.aspose.imaging.fileformats.emf.graphics.EmfRecorderGraphics2D graphics =
        new com.aspose.imaging.fileformats.emf.graphics.EmfRecorderGraphics2D(
                frame,
                new com.aspose.imaging.Size(deviceWidth, deviceHeight),
                new com.aspose.imaging.Size(deviceWidthMm, deviceHeightMm));

// Disegna un rettangolo nero lungo i bordi dell'immagine usando una penna nera larga 1 pixel.
graphics.drawRectangle(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlack(), 1), 0, 0, deviceWidth, deviceHeight);

// Riempi un rettangolo con il colore white-smoke.
graphics.fillRectangle(
        new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getWhiteSmoke()),
        new com.aspose.imaging.Rectangle(10, 10, 580, 380));

// Disegna due linee diagonali usando una penna darkgreen larga 1 pixel.
graphics.drawLine(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getDarkGreen(), 1), 0, 0, deviceWidth, deviceHeight);
graphics.drawLine(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getDarkGreen(), 1), 0, deviceHeight, deviceWidth, 0);

// Disegna un arco all'interno del rettangolo {0, 0, 200, 200} usando una penna blu larga 2 pixel.
graphics.drawArc(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlue(), 2), new com.aspose.imaging.Rectangle(0, 0, 200, 200), 90, 270);

// Riempi un arco
graphics.fillPie(
        new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getLightSkyBlue()),
        new com.aspose.imaging.Rectangle(0, 0, 150, 150), 90, 270);

// Disegna un bezier cubico usando una penna rossa larga 2 pixel.
graphics.drawCubicBezier(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getRed(), 2),
        new com.aspose.imaging.Point(0, 0),
        new com.aspose.imaging.Point(200, 133),
        new com.aspose.imaging.Point(400, 166),
        new com.aspose.imaging.Point(600, 400));

// Disegna un'immagine raster della dimensione specificata nella posizione specificata.
// L'immagine è scalata per adattarsi al rettangolo desiderato.
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.Rectangle(400, 200, 100, 50),
            new com.aspose.imaging.Rectangle(0, 0, deviceWidth, deviceHeight),
            com.aspose.imaging.GraphicsUnit.Pixel);
} finally {
    imageToDraw.dispose();
}

// Disegna una stringa di testo
graphics.drawString("Hello World!",
        new com.aspose.imaging.Font("Arial", 48, com.aspose.imaging.FontStyle.Regular),
        com.aspose.imaging.Color.getDarkRed(), 200, 300);

// Crea un percorso da riempire
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)),
        });

// Riempi il percorso usando un pennello giallo e una penna verde per disegnare il contorno
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);

// Crea un percorso da disegnare
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),
        });

// Disegna il percorso usando una penna arancione larga 5 pixel.
graphics.drawPath(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getOrange(), 5), pathToDraw);

// Per rasterizzare SVG è necessario specificare le opzioni di rasterizzazione.
com.aspose.imaging.imageoptions.SvgRasterizationOptions rasterizationOptions = new com.aspose.imaging.imageoptions.SvgRasterizationOptions();
com.aspose.imaging.imageoptions.PngOptions saveOptions = new com.aspose.imaging.imageoptions.PngOptions();
saveOptions.setVectorRasterizationOptions(rasterizationOptions);

// Ottieni l'immagine WMF finale che include tutti i comandi di disegno
com.aspose.imaging.fileformats.emf.EmfImage emfImage = graphics.endRecording();
try {
    emfImage.save(dir + "test.output.emf");
} finally {
    emfImage.dispose();
}

MetafileRecorderGraphics2D()

public MetafileRecorderGraphics2D()

getClip()

public Region getClip()

Ottiene o imposta una Region che limita l’area di disegno di questo Graphics

Returns: Region - The clip region.

setClip(Region value)

public void setClip(Region value)

Ottiene o imposta una Region che limita l’area di disegno di questo Graphics

Parameters:

ParametroTipoDescrizione
valueRegionLa regione di ritaglio.

getClipBounds()

public RectangleF getClipBounds()

Ottiene i limiti di clip.

Returns: RectangleF - The clip bounds.

getBackgroundColor()

public Color getBackgroundColor()

Ottiene il colore dello sfondo.

Returns: Color - The color of the background.

setBackgroundColor(Color value)

public void setBackgroundColor(Color value)

Imposta il colore dello sfondo.

Parameters:

ParametroTipoDescrizione
valueColorIl colore dello sfondo.

clear()

public void clear()

Cancella lo stato dell’oggetto graphics

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

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

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.
startAnglefloatAngolo in gradi misurato in senso orario dall’asse x al punto di partenza dell’arco.
arcAnglefloatAngolo in gradi misurato in senso orario dal parametro startAngle al punto finale dell’arco.

drawCubicBezier(Pen pen, Point pt1, Point pt2, Point pt3, Point pt4)

public void drawCubicBezier(Pen pen, Point pt1, Point pt2, Point pt3, Point pt4)

Disegna il bezier cubico.

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.

drawPolyCubicBezier(Pen pen, Point[] points)

public void drawPolyCubicBezier(Pen pen, Point[] points)

Disegna il poly cubic bezier.

Parameters:

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

drawEllipse(Pen pen, Rectangle rect)

public void drawEllipse(Pen pen, Rectangle rect)

Disegna l’ellisse.

Parameters:

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

fillEllipse(Brush brush, Rectangle rect)

public void fillEllipse(Brush brush, Rectangle rect)

Riempie l’ellisse.

Parameters:

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

drawImage(RasterImage image, Point location)

public void drawImage(RasterImage image, Point 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.

drawImage(byte[] imageBytes, Rectangle destRect, int srcUnit)

public final void drawImage(byte[] imageBytes, Rectangle destRect, int srcUnit)

Disegna l’immagine.

Parameters:

ParametroTipoDescrizione
imageBytesbyte[]I byte dell’immagine.
destRectRectangleIl rettangolo di destinazione.
srcUnitintL’unità di origine.

drawImage(InputStream stream, Rectangle destRect, int srcUnit)

public final void drawImage(InputStream stream, Rectangle destRect, int srcUnit)

Disegna l’immagine.

Parameters:

ParametroTipoDescrizione
flussojava.io.InputStreamIl flusso.
destRectRectangleIl rettangolo di destinazione.
srcUnitintL’unità di origine.

drawImage(RasterImage image, Rectangle destRect, Rectangle srcRect, int srcUnit)

public void drawImage(RasterImage image, Rectangle destRect, Rectangle srcRect, int srcUnit)

Disegna la porzione specificata dell’Image specificata nella posizione specificata e con la dimensione specificata.

Parameters:

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

drawLine(Pen pen, int x1, int y1, int x2, int y2)

public void drawLine(Pen pen, int x1, int y1, int x2, int 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.

drawLine(Pen pen, Point pt1, Point pt2)

public void drawLine(Pen pen, Point pt1, Point pt2)

Disegna la linea.

Parameters:

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

drawPolyline(Pen pen, Point[] points)

public void drawPolyline(Pen pen, Point[] points)

Disegna la polilinea.

Parameters:

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

drawPath(Pen pen, GraphicsPath path)

public void drawPath(Pen pen, GraphicsPath path)

Disegna il percorso.

Parameters:

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

fillPath(Pen pen, Brush brush, GraphicsPath path)

public void fillPath(Pen pen, Brush brush, GraphicsPath 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.

drawPie(Pen pen, Rectangle rect, float startAngle, float sweepAngle)

public void drawPie(Pen pen, Rectangle rect, float startAngle, float sweepAngle)

Disegna la torta.

Parameters:

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

fillPie(Brush brush, Rectangle rect, float startAngle, float sweepAngle)

public void fillPie(Brush brush, Rectangle rect, float startAngle, float sweepAngle)

Riempie la torta.

Parameters:

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

drawPolygon(Pen pen, Point[] points)

public void drawPolygon(Pen pen, Point[] points)

Disegna il poligono.

Parameters:

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

fillPolygon(Brush brush, Point[] points)

public void fillPolygon(Brush brush, Point[] points)

Riempie il poligono.

Parameters:

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

fillPolygon(Brush brush, Point[] points, int fillMode)

public void fillPolygon(Brush brush, Point[] points, int fillMode)

Riempie il poligono.

Parameters:

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

drawRectangle(Pen pen, int x, int y, int width, int height)

public void drawRectangle(Pen pen, int x, int y, int width, int 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.

drawRectangle(Pen pen, Rectangle rectangle)

public void drawRectangle(Pen pen, Rectangle rectangle)

Disegna il rettangolo.

Parameters:

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

fillRectangle(Brush brush, Rectangle rectangle)

public void fillRectangle(Brush brush, Rectangle rectangle)

Riempie il rettangolo.

Parameters:

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

drawString(String string, Font font, Color color, int x, int y)

public void drawString(String string, Font font, Color color, int x, int y)

Disegna la stringa.

Parameters:

ParametroTipoDescrizione
stringajava.lang.StringLa stringa.
fontFontFont 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.

Example: This example shows how to load a EMF image from a file and draw a text string over it.

String dir = "c:\\temp\\";

com.aspose.imaging.fileformats.emf.EmfImage emfImage = (com.aspose.imaging.fileformats.emf.EmfImage) com.aspose.imaging.Image.load(dir + "test.emf");
try {
    com.aspose.imaging.fileformats.emf.graphics.EmfRecorderGraphics2D graphics =
            com.aspose.imaging.fileformats.emf.graphics.EmfRecorderGraphics2D.fromEmfImage(emfImage);

    // Prima, ottieni le dimensioni dell'immagine
    int width = emfImage.getWidth();
    int height = emfImage.getHeight();

    // Secondo, calcola una trasformazione per posizionare una stringa di testo lungo la diagonale principale dell'immagine -
    // dall'angolo in alto a sinistra all'angolo in basso a destra.
    float emFontSize = 96f;
    float d = (float) java.lang.Math.sqrt(width * width + height * height);
    float scaleFactor = d / (emFontSize * 5f);

    float tan = ((float) height) / width;
    double radians = java.lang.Math.atan(tan);
    double degrees = (180 * radians) / java.lang.Math.PI;

    com.aspose.imaging.Matrix transform = new com.aspose.imaging.Matrix();
    transform.rotate((float) degrees);
    transform.scale(scaleFactor, scaleFactor);

    // Quindi, imposta la trasformazione.
    graphics.setTransform(transform);

    // Infine, inserisci una filigrana (stringa di testo di colore rosa) lungo la diagonale principale.
    graphics.drawString("WATERMARK", new com.aspose.imaging.Font(
                    "Courier New", emFontSize),
            com.aspose.imaging.Color.getLightPink(), 0, 0/*, (float)degrees*/);

    // Salva l'immagine con filigrana in un altro file EMF.
    com.aspose.imaging.fileformats.emf.EmfImage scaledEmfImage = graphics.endRecording();
    try {
        scaledEmfImage.save(dir + "test.scaled.emf");
    } finally {
        scaledEmfImage.dispose();
    }
} finally {
    emfImage.dispose();
}

drawString(String string, Font font, Color color, int x, int y, float angle)

public void drawString(String string, Font font, Color color, int x, int y, float angle)

Disegna la stringa.

Parameters:

ParametroTipoDescrizione
stringajava.lang.StringLa stringa.
fontFontFont 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.

excludeClip(Rectangle rect)

public void excludeClip(Rectangle 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.

excludeClip(Region region)

public void excludeClip(Region 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.

intersectClip(RectangleF rect)

public void intersectClip(RectangleF 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.

intersectClip(Region region)

public void intersectClip(Region 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.

resetClip()

public void resetClip()

Reimposta il ritaglio.

multiplyTransform(Matrix matrix)

public void multiplyTransform(Matrix matrix)

Moltiplica la trasformazione globale di questo Graphics per la Matrix specificata.

Parameters:

ParametroTipoDescrizione
matrixMatrixLa matrice che moltiplica la trasformazione del mondo.

multiplyTransform(Matrix matrix, int order)

public void multiplyTransform(Matrix matrix, int order)

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

Parameters:

ParametroTipoDescrizione
matrixMatrixLa matrice che moltiplica la trasformazione del mondo.
orderintL’ordine della moltiplicazione.

translateTransform(float x, float y)

public void translateTransform(float x, float y)

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

Parameters:

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

translateTransform(float x, float y, int order)

public void translateTransform(float x, float y, int order)

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

Parameters:

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

rotateTransform(float angle)

public void rotateTransform(float angle)

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

Parameters:

ParametroTipoDescrizione
anglefloatAngolo di rotazione in gradi.

rotateTransform(float angle, PointF center, int order)

public void rotateTransform(float angle, PointF center, int 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.
orderintSpecifica se la rotazione è aggiunta o anteposta alla trasformazione della matrice.

scaleTransform(float sx, float sy)

public void scaleTransform(float sx, float 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.

scaleTransform(float sx, float sy, int order)

public void scaleTransform(float sx, float sy, int 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.
orderintSpecifica se l’operazione di scalatura è anteposta o aggiunta alla matrice di trasformazione.

getTransform()

public Matrix getTransform()

Ottiene la trasformazione globale.

Returns: Matrix - The transform matrix.

setTransform(Matrix transform)

public void setTransform(Matrix transform)

Imposta la trasformazione.

Parameters:

ParametroTipoDescrizione
transformMatrixLa nuova matrice di trasformazione.

Example: This example shows how to load a EMF image from a file and draw a text string over it.

String dir = "c:\\temp\\";

com.aspose.imaging.fileformats.emf.EmfImage emfImage = (com.aspose.imaging.fileformats.emf.EmfImage) com.aspose.imaging.Image.load(dir + "test.emf");
try {
    com.aspose.imaging.fileformats.emf.graphics.EmfRecorderGraphics2D graphics =
            com.aspose.imaging.fileformats.emf.graphics.EmfRecorderGraphics2D.fromEmfImage(emfImage);

    // Prima, ottieni le dimensioni dell'immagine
    int width = emfImage.getWidth();
    int height = emfImage.getHeight();

    // Secondo, calcola una trasformazione per posizionare una stringa di testo lungo la diagonale principale dell'immagine -
    // dall'angolo in alto a sinistra all'angolo in basso a destra.
    float emFontSize = 96f;
    float d = (float) java.lang.Math.sqrt(width * width + height * height);
    float scaleFactor = d / (emFontSize * 5f);

    float tan = ((float) height) / width;
    double radians = java.lang.Math.atan(tan);
    double degrees = (180 * radians) / java.lang.Math.PI;

    com.aspose.imaging.Matrix transform = new com.aspose.imaging.Matrix();
    transform.rotate((float) degrees);
    transform.scale(scaleFactor, scaleFactor);

    // Quindi, imposta la trasformazione.
    graphics.setTransform(transform);

    // Infine, inserisci una filigrana (stringa di testo di colore rosa) lungo la diagonale principale.
    graphics.drawString("WATERMARK", new com.aspose.imaging.Font(
                    "Courier New", emFontSize),
            com.aspose.imaging.Color.getLightPink(), 0, 0/*, (float)degrees*/);

    // Salva l'immagine con filigrana in un altro file EMF.
    com.aspose.imaging.fileformats.emf.EmfImage scaledEmfImage = graphics.endRecording();
    try {
        scaledEmfImage.save(dir + "test.scaled.emf");
    } finally {
        scaledEmfImage.dispose();
    }
} finally {
    emfImage.dispose();
}