MetafileRecorderGraphics2D

Inheritance: java.lang.Object

public abstract class MetafileRecorderGraphics2D

Den metafiler inspelningsgrafik

Konstruktörer

KonstruktorBeskrivning
MetafileRecorderGraphics2D()

Metoder

MetodBeskrivning
getClip()Hämtar eller anger en Region som begränsar ritområdet för denna Graphics
setClip(Region value)Hämtar eller anger en Region som begränsar ritområdet för denna Graphics
getClipBounds()Hämtar beskärningsgränserna.
getBackgroundColor()Hämtar bakgrundens färg.
setBackgroundColor(Color value)Anger bakgrundens färg.
clear()Rensar tillståndet för grafikobjektet
drawArc(Pen pen, Rectangle rect, float startAngle, float arcAngle)Ritar en båge som representerar en del av en ellips specificerad av en rektangelstruktur.
drawCubicBezier(Pen pen, Point pt1, Point pt2, Point pt3, Point pt4)Ritar den kubiska Bézier-kurvan.
drawPolyCubicBezier(Pen pen, Point[] points)Ritar den polygonala kubiska Bézier-kurvan.
drawEllipse(Pen pen, Rectangle rect)Ritar ellipsen.
fillEllipse(Brush brush, Rectangle rect)Fyller ellipsen.
drawImage(RasterImage image, Point location)Ritar den angivna bilden, med dess ursprungliga fysiska storlek, på den angivna platsen.
drawImage(byte[] imageBytes, Rectangle destRect, int srcUnit)Ritar bilden.
drawImage(InputStream stream, Rectangle destRect, int srcUnit)Ritar bilden.
drawImage(RasterImage image, Rectangle destRect, Rectangle srcRect, int srcUnit)Ritar den angivna delen av den angivna bilden på den angivna platsen och med den angivna storleken.
drawLine(Pen pen, int x1, int y1, int x2, int y2)Ritar linjen.
drawLine(Pen pen, Point pt1, Point pt2)Ritar linjen.
drawPolyline(Pen pen, Point[] points)Ritar polylinjen.
drawPath(Pen pen, GraphicsPath path)Ritar banan.
fillPath(Pen pen, Brush brush, GraphicsPath path)Fyller banan.
drawPie(Pen pen, Rectangle rect, float startAngle, float sweepAngle)Ritar pajen.
fillPie(Brush brush, Rectangle rect, float startAngle, float sweepAngle)Fyller pajen.
drawPolygon(Pen pen, Point[] points)Ritar polygonen.
fillPolygon(Brush brush, Point[] points)Fyller polygonen.
fillPolygon(Brush brush, Point[] points, int fillMode)Fyller polygonen.
drawRectangle(Pen pen, int x, int y, int width, int height)Ritar rektangeln.
drawRectangle(Pen pen, Rectangle rectangle)Ritar rektangeln.
fillRectangle(Brush brush, Rectangle rectangle)Fyller rektangeln.
drawString(String string, Font font, Color color, int x, int y)Ritar strängen.
drawString(String string, Font font, Color color, int x, int y, float angle)Ritar strängen.
excludeClip(Rectangle rect)Uppdaterar klippområdet för detta Graphics för att utesluta området som anges av en rektangelstruktur.
excludeClip(Region region)Uppdaterar klippområdet för detta Graphics för att utesluta området som anges av en region.
intersectClip(RectangleF rect)Uppdaterar klippområdet för detta Graphics till skärningspunkten mellan det aktuella klippområdet och den angivna rektangelstrukturen.
intersectClip(Region region)Uppdaterar klippområdet för detta Graphics till skärningspunkten mellan det aktuella klippområdet och den angivna regionen.
resetClip()Återställer klippet.
multiplyTransform(Matrix matrix)Multiplicerar världstransformationen för detta Graphics med den angivna matrisen.
multiplyTransform(Matrix matrix, int order)Multiplicerar världstransformationen för detta Graphics med den angivna matrisen i angiven ordning.
translateTransform(float x, float y)Ändrar ursprunget för koordinatsystemet genom att föregå den angivna förflyttningen till transformationsmatrisen för detta Graphics.
translateTransform(float x, float y, int order)Ändrar ursprunget för koordinatsystemet genom att applicera den angivna förflyttningen på transformationsmatrisen för detta Graphics i angiven ordning.
rotateTransform(float angle)Applicerar den angivna rotationen på transformationsmatrisen för detta Graphics.
rotateTransform(float angle, PointF center, int order)Applicerar den angivna rotationen på transformationsmatrisen för detta Graphics i angiven ordning.
scaleTransform(float sx, float sy)Applicerar den angivna skalningsoperationen på transformationsmatrisen för detta Graphics genom att föregå den till objektets transformationsmatris.
scaleTransform(float sx, float sy, int order)Applicerar den angivna skalningsoperationen på transformationsmatrisen för detta Graphics i angiven ordning.
getTransform()Hämtar världstransformationen.
setTransform(Matrix transform)Ställer in transformen.

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

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

// Bildens storlek i pixlar
int deviceWidth = 600;
int deviceHeight = 400;

// Bildens storlek i millimeter
int deviceWidthMm = (int) (deviceWidth / 100f);
int deviceHeightMm = (int) (deviceHeight / 100f);

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

// Skapa en EMF‑bild.
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));

// Rita en svart rektangel längs bildens kanter med en 1‑pixel bred svart penna.
graphics.drawRectangle(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlack(), 1), 0, 0, deviceWidth, deviceHeight);

// Fyll en rektangel med färgen white‑smoke.
graphics.fillRectangle(
        new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getWhiteSmoke()),
        new com.aspose.imaging.Rectangle(10, 10, 580, 380));

// Rita två diagonala linjer med en 1‑pixel bred darkgreen‑penna.
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);

// Rita en båge inom rektangeln {0, 0, 200, 200} med en 2‑pixel bred blå penna.
graphics.drawArc(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getBlue(), 2), new com.aspose.imaging.Rectangle(0, 0, 200, 200), 90, 270);

// Fyll en båge
graphics.fillPie(
        new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getLightSkyBlue()),
        new com.aspose.imaging.Rectangle(0, 0, 150, 150), 90, 270);

// Rita en kubisk Bézier med en 2‑pixel bred röd penna.
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));

// Rita en rasterbild av angiven storlek på den angivna platsen.
// Bilden skalas för att passa den önskade rektangeln.
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();
}

// Rita en textsträng
graphics.drawString("Hello World!",
        new com.aspose.imaging.Font("Arial", 48, com.aspose.imaging.FontStyle.Regular),
        com.aspose.imaging.Color.getDarkRed(), 200, 300);

// Skapa en bana för att fylla
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)),
        });

// Fyll banan med en gul pensel och en grön penna för att rita konturen
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);

// Skapa en bana för att rita
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),
        });

// Rita banan med en 5‑pixel bred orange penna.
graphics.drawPath(new com.aspose.imaging.Pen(com.aspose.imaging.Color.getOrange(), 5), pathToDraw);

// För att rasterisera SVG måste vi specificera rasteriseringsalternativ.
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);

// Hämta den slutgiltiga WMF‑bilden som inkluderar alla ritkommandon
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()

Hämtar eller anger en Region som begränsar ritområdet för denna Graphics

Returns: Region - The clip region.

setClip(Region value)

public void setClip(Region value)

Hämtar eller anger en Region som begränsar ritområdet för denna Graphics

Parameters:

ParameterTypBeskrivning
valueRegionKlippområdet.

getClipBounds()

public RectangleF getClipBounds()

Hämtar beskärningsgränserna.

Returns: RectangleF - The clip bounds.

getBackgroundColor()

public Color getBackgroundColor()

Hämtar bakgrundens färg.

Returns: Color - The color of the background.

setBackgroundColor(Color value)

public void setBackgroundColor(Color value)

Anger bakgrundens färg.

Parameters:

ParameterTypBeskrivning
valueColorBakgrundens färg.

clear()

public void clear()

Rensar tillståndet för grafikobjektet

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

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

Ritar en båge som representerar en del av en ellips specificerad av en rektangelstruktur.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
rectRectangleEllipsens gränser.
startAnglefloatVinkel i grader mätt medurs från x-axeln till startpunkten för bågen.
arcAnglefloatVinkel i grader mätt medurs från startAngle-parametern till arcens slutpunkt.

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

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

Ritar den kubiska Bézier-kurvan.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
pt1PointStartpunkten för kurvan.
pt2PointDen första kontrollpunkten för kurvan.
pt3PointDen andra kontrollpunkten för kurvan.
pt4PointSlutpunkten för kurvan.

drawPolyCubicBezier(Pen pen, Point[] points)

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

Ritar den polygonala kubiska Bézier-kurvan.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
pointsPoint[]Punkterna.

drawEllipse(Pen pen, Rectangle rect)

public void drawEllipse(Pen pen, Rectangle rect)

Ritar ellipsen.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
rectRectangleEllipsens gränser.

fillEllipse(Brush brush, Rectangle rect)

public void fillEllipse(Brush brush, Rectangle rect)

Fyller ellipsen.

Parameters:

ParameterTypBeskrivning
brushBrushPensel som bestämmer egenskaperna för fyllningen.
rectRectangleEllipsens gränser.

drawImage(RasterImage image, Point location)

public void drawImage(RasterImage image, Point location)

Ritar den angivna bilden, med dess ursprungliga fysiska storlek, på den angivna platsen.

Parameters:

ParameterTypBeskrivning
imageRasterImageBilden som ska ritas.
locationPointPlatsen för det övre vänstra hörnet av den ritade bilden.

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

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

Ritar bilden.

Parameters:

ParameterTypBeskrivning
imageBytesbyte[]Bildens byte.
destRectRectangleDest-rektangeln.
srcUnitintKällenheten.

drawImage(InputStream stream, Rectangle destRect, int srcUnit)

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

Ritar bilden.

Parameters:

ParameterTypBeskrivning
strömjava.io.InputStreamStrömmen.
destRectRectangleDest-rektangeln.
srcUnitintKällenheten.

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

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

Ritar den angivna delen av den angivna bilden på den angivna platsen och med den angivna storleken.

Parameters:

ParameterTypBeskrivning
imageRasterImageBilden som ska ritas.
destRectRectangleRektangelstruktur som specificerar platsen och storleken på den ritade bilden. Bilden skalas för att passa rektangeln.
srcRectRectangleRektangelstruktur som specificerar den del av bildobjektet som ska ritas.
srcUnitintMåttenheterna som används av srcRect-parametern.

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

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

Ritar linjen.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
x1intX-koordinaten för den första punkten.
y1intY-koordinaten för den första punkten.
x2intX-koordinaten för den andra punkten.
y2intY-koordinaten för den andra punkten.

drawLine(Pen pen, Point pt1, Point pt2)

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

Ritar linjen.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
pt1PointDen första punkten.
pt2PointDen andra punkten.

drawPolyline(Pen pen, Point[] points)

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

Ritar polylinjen.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
pointsPoint[]Punkterna.

drawPath(Pen pen, GraphicsPath path)

public void drawPath(Pen pen, GraphicsPath path)

Ritar banan.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
pathGraphicsPathSökvägen att rita.

fillPath(Pen pen, Brush brush, GraphicsPath path)

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

Fyller banan.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
brushBrushPensel som bestämmer egenskaperna för fyllningen.
pathGraphicsPathSökvägen att fylla.

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

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

Ritar pajen.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
rectRectangleEllipsens gränser.
startAnglefloatVinkel i grader mätt medurs från x-axeln till startpunkten för bågen.
sweepAnglefloatVinkel i grader mätt medurs från startAngle-parametern till arcens slutpunkt.

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

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

Fyller pajen.

Parameters:

ParameterTypBeskrivning
brushBrushPensel som bestämmer egenskaperna för fyllningen.
rectRectangleEllipsens gränser.
startAnglefloatVinkel i grader mätt medurs från x-axeln till startpunkten för bågen.
sweepAnglefloatVinkel i grader mätt medurs från startAngle-parametern till arcens slutpunkt.

drawPolygon(Pen pen, Point[] points)

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

Ritar polygonen.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
pointsPoint[]Punkterna.

fillPolygon(Brush brush, Point[] points)

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

Fyller polygonen.

Parameters:

ParameterTypBeskrivning
brushBrushPensel som bestämmer egenskaperna för fyllningen.
pointsPoint[]Punkterna.

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

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

Fyller polygonen.

Parameters:

ParameterTypBeskrivning
brushBrushPensel som bestämmer egenskaperna för fyllningen.
pointsPoint[]Punkterna.
fillModeintFyllningsläget.

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

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

Ritar rektangeln.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
xintX-koordinaten för den övre vänstra hörnet av rektangeln som ska ritas.
yintY-koordinaten för den övre vänstra hörnet av rektangeln som ska ritas.
breddintBredden på rektangeln som ska ritas.
höjdintHöjden på rektangeln som ska ritas.

drawRectangle(Pen pen, Rectangle rectangle)

public void drawRectangle(Pen pen, Rectangle rectangle)

Ritar rektangeln.

Parameters:

ParameterTypBeskrivning
penPenPenna som bestämmer färg, bredd och stil för figuren.
rectangleRectangleRektangeln som ska ritas.

fillRectangle(Brush brush, Rectangle rectangle)

public void fillRectangle(Brush brush, Rectangle rectangle)

Fyller rektangeln.

Parameters:

ParameterTypBeskrivning
brushBrushPensel som bestämmer egenskaperna för fyllningen.
rectangleRectangleRektangeln som ska fyllas.

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

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

Ritar strängen.

Parameters:

ParameterTypBeskrivning
strängjava.lang.StringSträngen.
fontFontTypsnitt som definierar textformatet för strängen.
colorColorTextfärgen.
xintX-koordinaten för den övre vänstra hörnet av den ritade texten.
yintY-koordinaten för den övre vänstra hörnet av den ritade texten.

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);

    // Först, hämta bildens storlek
    int width = emfImage.getWidth();
    int height = emfImage.getHeight();

    // För det andra, beräkna en transformation för att placera en textsträng längs bildens huvuddiagonal -
    // från övre vänstra till nedre högra hörnet.
    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);

    // Sedan, ställ in transformationen.
    graphics.setTransform(transform);

    // Slutligen, placera ett vattenmärke (textsträng i rosa färg) längs huvuddiagonalen.
    graphics.drawString("WATERMARK", new com.aspose.imaging.Font(
                    "Courier New", emFontSize),
            com.aspose.imaging.Color.getLightPink(), 0, 0/*, (float)degrees*/);

    // Spara bilden med vattenmärke till en annan EMF-fil.
    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)

Ritar strängen.

Parameters:

ParameterTypBeskrivning
strängjava.lang.StringSträngen.
fontFontTypsnitt som definierar textformatet för strängen.
colorColorTextfärgen.
xintX-koordinaten för den övre vänstra hörnet av den ritade texten.
yintY-koordinaten för den övre vänstra hörnet av den ritade texten.
anglefloatVinkeln i grader mellan escapementvektorn och enhetens x-axel. Escapementvektorn är parallell med baslinjen för en rad text.

excludeClip(Rectangle rect)

public void excludeClip(Rectangle rect)

Uppdaterar klippområdet för detta Graphics för att utesluta området som anges av en rektangelstruktur.

Parameters:

ParameterTypBeskrivning
rectRectangleRektangelstruktur som specificerar rektangeln att utesluta från klippregionen.

excludeClip(Region region)

public void excludeClip(Region region)

Uppdaterar klippområdet för detta Graphics för att utesluta området som anges av en region.

Parameters:

ParameterTypBeskrivning
regionRegionRegion som specificerar regionen att utesluta från klippregionen.

intersectClip(RectangleF rect)

public void intersectClip(RectangleF rect)

Uppdaterar klippområdet för detta Graphics till skärningspunkten mellan det aktuella klippområdet och den angivna rektangelstrukturen.

Parameters:

ParameterTypBeskrivning
rectRectangleFRektangelstruktur för att skära med den aktuella klippregionen.

intersectClip(Region region)

public void intersectClip(Region region)

Uppdaterar klippområdet för detta Graphics till skärningspunkten mellan det aktuella klippområdet och den angivna regionen.

Parameters:

ParameterTypBeskrivning
regionRegionRegion för att skära med den aktuella regionen.

resetClip()

public void resetClip()

Återställer klippet.

multiplyTransform(Matrix matrix)

public void multiplyTransform(Matrix matrix)

Multiplicerar världstransformationen för detta Graphics med den angivna matrisen.

Parameters:

ParameterTypBeskrivning
matrixMatrixMatrisen som multiplicerar världstransformationen.

multiplyTransform(Matrix matrix, int order)

public void multiplyTransform(Matrix matrix, int order)

Multiplicerar världstransformationen för detta Graphics med den angivna matrisen i angiven ordning.

Parameters:

ParameterTypBeskrivning
matrixMatrixMatrisen som multiplicerar världstransformationen.
orderintMultiplikationsordningen.

translateTransform(float x, float y)

public void translateTransform(float x, float y)

Ändrar ursprunget för koordinatsystemet genom att föregå den angivna förflyttningen till transformationsmatrisen för detta Graphics.

Parameters:

ParameterTypBeskrivning
xfloatX-koordinaten för förflyttningen.
yfloatY-koordinaten för förflyttningen.

translateTransform(float x, float y, int order)

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

Ändrar ursprunget för koordinatsystemet genom att applicera den angivna förflyttningen på transformationsmatrisen för detta Graphics i angiven ordning.

Parameters:

ParameterTypBeskrivning
xfloatX-koordinaten för förflyttningen.
yfloatY-koordinaten för förflyttningen.
orderintAnger om förskjutningen läggs till i början eller i slutet av transformationsmatrisen.

rotateTransform(float angle)

public void rotateTransform(float angle)

Applicerar den angivna rotationen på transformationsmatrisen för detta Graphics.

Parameters:

ParameterTypBeskrivning
anglefloatRotationsvinkel i grader.

rotateTransform(float angle, PointF center, int order)

public void rotateTransform(float angle, PointF center, int order)

Applicerar den angivna rotationen på transformationsmatrisen för detta Graphics i angiven ordning.

Parameters:

ParameterTypBeskrivning
anglefloatRotationsvinkel i grader.
centerPointFRotationscentrum.
orderintAnger om rotationen läggs till i början eller i slutet av matrisomvandlingen.

scaleTransform(float sx, float sy)

public void scaleTransform(float sx, float sy)

Applicerar den angivna skalningsoperationen på transformationsmatrisen för detta Graphics genom att föregå den till objektets transformationsmatris.

Parameters:

ParameterTypBeskrivning
sxfloatSkalfaktor i x-riktning.
syfloatSkalfaktor i y-riktning.

scaleTransform(float sx, float sy, int order)

public void scaleTransform(float sx, float sy, int order)

Applicerar den angivna skalningsoperationen på transformationsmatrisen för detta Graphics i angiven ordning.

Parameters:

ParameterTypBeskrivning
sxfloatSkalfaktor i x-riktning.
syfloatSkalfaktor i y-riktning.
orderintAnger om skalningsoperationen läggs till i början eller i slutet av transformationsmatrisen.

getTransform()

public Matrix getTransform()

Hämtar världstransformationen.

Returns: Matrix - The transform matrix.

setTransform(Matrix transform)

public void setTransform(Matrix transform)

Ställer in transformen.

Parameters:

ParameterTypBeskrivning
transformMatrixDen nya transformationsmatrisen.

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);

    // Först, hämta bildens storlek
    int width = emfImage.getWidth();
    int height = emfImage.getHeight();

    // För det andra, beräkna en transformation för att placera en textsträng längs bildens huvuddiagonal -
    // från övre vänstra till nedre högra hörnet.
    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);

    // Sedan, ställ in transformationen.
    graphics.setTransform(transform);

    // Slutligen, placera ett vattenmärke (textsträng i rosa färg) längs huvuddiagonalen.
    graphics.drawString("WATERMARK", new com.aspose.imaging.Font(
                    "Courier New", emFontSize),
            com.aspose.imaging.Color.getLightPink(), 0, 0/*, (float)degrees*/);

    // Spara bilden med vattenmärke till en annan EMF-fil.
    com.aspose.imaging.fileformats.emf.EmfImage scaledEmfImage = graphics.endRecording();
    try {
        scaledEmfImage.save(dir + "test.scaled.emf");
    } finally {
        scaledEmfImage.dispose();
    }
} finally {
    emfImage.dispose();
}