类 Graphics

Graphics class

表示根据当前程序集使用的图形引擎的图形。

public sealed class Graphics

构造函数

名称描述
Graphics(Image)初始化 Graphics 类的新实例。

属性

名称描述
Clip { get; set; }获取或设置裁剪区域。
CompositingQuality { get; set; }获取或设置复合质量。
DpiX { get; }获取此 Aspose.Imaging.Graphics 的水平分辨率。
DpiY { get; }获取此 Aspose.Imaging.Graphics 的垂直分辨率。
Image { get; }获取图像。
InterpolationMode { get; set; }获取或设置插值模式。
IsInBeginUpdateCall { get; }获取一个值,指示图形是否处于 BeginUpdate 调用状态。
PageScale { get; set; }获取或设置此 Aspose.Imaging.Graphics 的世界单位与页面单位之间的缩放比例。
PageUnit { get; set; }获取或设置此 Aspose.Imaging.Graphics 中页面坐标使用的计量单位。
PaintableImageOptions { get; set; }获取或设置图像选项,用于创建可绘制的矢量图像。
SmoothingMode { get; set; }获取或设置平滑模式。
TextRenderingHint { get; set; }获取或设置文本渲染提示。
Transform { get; set; }获取或设置此 Graphics 的几何世界变换的副本。

方法

名称描述
BeginUpdate()开始缓存以下图形操作。随后应用的图形效果不会立即生效,而是等到 EndUpdate 时一次性应用所有效果。
Clear(Color)使用指定的颜色清除图形表面。
DrawArc(Pen, Rectangle, float, float)绘制一个弧线,表示由 Rectangle 结构指定的椭圆的一部分。
DrawArc(Pen, RectangleF, float, float)绘制一个弧线,表示由 RectangleF 结构指定的椭圆的一部分。
DrawArc(Pen, float, float, float, float, float, float)绘制一个弧线,表示由一对坐标、宽度和高度指定的椭圆的一部分。
DrawArc(Pen, int, int, int, int, int, int)绘制一个弧线,表示由一对坐标、宽度和高度指定的椭圆的一部分。
DrawBezier(Pen, Point, Point, Point, Point)绘制由四个Point结构定义的贝塞尔样条。
DrawBezier(Pen, PointF, PointF, PointF, PointF)绘制由四个PointF结构定义的贝塞尔样条。
DrawBezier(Pen, float, float, float, float, float, float, float, float)绘制由四对有序坐标点(表示点)定义的贝塞尔样条。
DrawBeziers(Pen, PointF[])PointF结构数组绘制一系列贝塞尔样条。
DrawBeziers(Pen, Point[])Point结构数组绘制一系列贝塞尔样条。
DrawClosedCurve(Pen, PointF[])绘制由PointF结构数组定义的闭合基数样条。此方法使用默认张力 0.5 和 Alternate 填充模式。
DrawClosedCurve(Pen, Point[])绘制由Point结构数组定义的闭合基数样条。此方法使用默认张力 0.5 和 Alternate 填充模式。
DrawClosedCurve(Pen, PointF[], float)绘制由PointF结构数组定义的闭合基数样条,使用指定的张力。此方法使用默认的 Alternate 填充模式。
DrawClosedCurve(Pen, Point[], float)绘制由Point结构数组定义的闭合基数样条,使用指定的张力。此方法使用默认的 Alternate 填充模式。
DrawCurve(Pen, PointF[])绘制通过指定的PointF结构数组的基数样条。此方法使用默认张力 0.5。
DrawCurve(Pen, Point[])绘制通过指定的Point结构数组的基数样条。
DrawCurve(Pen, PointF[], float)绘制通过指定的PointF结构数组的基数样条,使用指定的张力。
DrawCurve(Pen, Point[], float)绘制通过指定的Point结构数组的基数样条,使用指定的张力。
DrawCurve(Pen, PointF[], int, int)绘制通过指定的PointF结构数组的基数样条。绘制从数组起始位置偏移开始。此方法使用默认张力 0.5。
DrawCurve(Pen, PointF[], int, int, float)绘制通过指定的PointF结构数组的基数样条,使用指定的张力。绘制从数组起始位置偏移开始。
DrawCurve(Pen, Point[], int, int, float)绘制通过指定的Point结构数组的基数样条,使用指定的张力。
DrawEllipse(Pen, Rectangle)绘制由边界Rectangle结构指定的椭圆。
DrawEllipse(Pen, RectangleF)绘制由边界RectangleF定义的椭圆。
DrawEllipse(Pen, float, float, float, float)绘制由一对坐标、宽度和高度指定的边界矩形定义的椭圆。
DrawEllipse(Pen, int, int, int, int)绘制由一对坐标、宽度和高度指定的边界矩形定义的椭圆。
DrawImage(Image, Point)在指定位置绘制指定的Image,使用其原始物理尺寸。
DrawImage(Image, PointF)在指定位置绘制指定的Image,使用其原始物理尺寸。
DrawImage(Image, PointF[])在指定位置并使用指定尺寸绘制指定 image 的指定部分。
DrawImage(Image, Point[])在指定位置并使用指定尺寸绘制指定 image 的指定部分。
DrawImage(Image, Rectangle)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, RectangleF)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, float, float)在指定位置绘制指定的Image,使用其原始物理尺寸。
DrawImage(Image, int, int)在由坐标对指定的位置绘制指定的图像,使用其原始物理尺寸。
DrawImage(Image, PointF[], RectangleF)在指定位置并使用指定尺寸绘制指定 image 的指定部分。
DrawImage(Image, Point[], Rectangle)在指定位置并使用指定尺寸绘制指定 image 的指定部分。
DrawImage(Image, Rectangle, GraphicsUnit)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, RectangleF, GraphicsUnit)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, PointF[], RectangleF, GraphicsUnit)在指定位置并使用指定尺寸绘制指定 image 的指定部分。
DrawImage(Image, Point[], Rectangle, GraphicsUnit)在指定位置并使用指定尺寸绘制指定 image 的指定部分。
DrawImage(Image, Rectangle, GraphicsUnit, ImageAttributes)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, Rectangle, Rectangle, GraphicsUnit)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, RectangleF, GraphicsUnit, ImageAttributes)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, RectangleF, RectangleF, GraphicsUnit)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, float, float, float, float)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, int, int, int, int)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes)在指定位置并使用指定尺寸绘制指定 image 的指定部分。
DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes)在指定位置并使用指定尺寸绘制指定 image 的指定部分。
DrawImage(Image, Rectangle, Rectangle, GraphicsUnit, ImageAttributes)在指定位置并使用指定尺寸绘制指定的Image
DrawImage(Image, RectangleF, RectangleF, GraphicsUnit, ImageAttributes)在指定位置并使用指定尺寸绘制指定的Image
DrawImageUnscaled(Image, Point)在指定位置绘制指定的图像,使用其原始物理尺寸。
DrawImageUnscaled(Image, Rectangle)在指定位置绘制指定的图像,使用其原始物理尺寸。
DrawImageUnscaled(Image, int, int)在由坐标对指定的位置绘制指定的图像,使用其原始物理尺寸。
DrawImageUnscaled(Image, int, int, int, int)在指定位置绘制指定的图像,使用其原始物理尺寸。
DrawImageUnscaledAndClipped(Image, Rectangle)在不进行缩放的情况下绘制指定的图像,并在必要时裁剪它以适应指定的矩形。
DrawLine(Pen, Point, Point)绘制一条连接两个Point结构的直线。
DrawLine(Pen, PointF, PointF)绘制一条连接两个PointF结构的直线。
DrawLine(Pen, float, float, float, float)绘制一条连接由坐标对指定的两个点的直线。
DrawLine(Pen, int, int, int, int)绘制一条连接由坐标对指定的两个点的直线。
DrawLines(Pen, PointF[])绘制一系列连接PointF结构数组的线段。
DrawLines(Pen, Point[])绘制一系列连接Point结构数组的线段。
DrawPath(Pen, GraphicsPath)绘制一个GraphicsPath
DrawPie(Pen, Rectangle, float, float)绘制由Rectangle结构指定的椭圆和两条径向线定义的饼形。
DrawPie(Pen, RectangleF, float, float)绘制由RectangleF结构指定的椭圆和两条径向线定义的饼形。
DrawPie(Pen, float, float, float, float, float, float)绘制由坐标对、宽度、高度以及两条径向线指定的椭圆定义的饼形。
DrawPie(Pen, int, int, int, int, int, int)绘制由坐标对、宽度、高度以及两条径向线指定的椭圆定义的饼形。
DrawPolygon(Pen, PointF[])绘制由PointF结构数组定义的多边形。
DrawPolygon(Pen, Point[])绘制由Point结构数组定义的多边形。
DrawRectangle(Pen, Rectangle)绘制由Rectangle结构指定的矩形。
DrawRectangle(Pen, RectangleF)绘制由RectangleF结构指定的矩形。
DrawRectangle(Pen, float, float, float, float)绘制由坐标对、宽度和高度指定的矩形。
DrawRectangle(Pen, int, int, int, int)绘制由坐标对、宽度和高度指定的矩形。
DrawRectangles(Pen, RectangleF[])绘制由RectangleF结构指定的一系列矩形。
DrawRectangles(Pen, Rectangle[])绘制由Rectangle结构指定的一系列矩形。
DrawString(string, Font, Brush, PointF)在指定位置使用指定的BrushFont对象绘制指定的文本字符串。
DrawString(string, Font, Brush, RectangleF)在指定矩形中使用指定的BrushFont对象绘制指定的文本字符串。
DrawString(string, Font, Brush, float, float)在指定位置使用指定的BrushFont对象绘制指定的文本字符串。
DrawString(string, Font, Brush, PointF, StringFormat)在指定位置使用指定的BrushFont对象,并使用指定StringFormat的格式属性绘制指定的文本字符串。
DrawString(string, Font, Brush, RectangleF, StringFormat)在指定矩形中使用指定的BrushFont对象,并使用指定StringFormat的格式属性绘制指定的文本字符串。
DrawString(string, Font, Brush, float, float, StringFormat)在指定位置使用指定的BrushFont对象,并使用指定StringFormat的格式属性绘制指定的文本字符串。
EndUpdate()完成在调用 BeginUpdate 后启动的图形操作的缓存。调用此方法时,前面的图形操作将一次性应用。
FillClosedCurve(Brush, PointF[])填充由PointF结构数组定义的闭合基数样条曲线的内部。此方法使用默认张力 0.5 和 Alternate 填充模式。
FillClosedCurve(Brush, Point[])填充由Point结构数组定义的闭合基数样条曲线的内部。此方法使用默认张力 0.5 和 Alternate 填充模式。
FillClosedCurve(Brush, PointF[], FillMode)使用指定的填充模式填充由PointF结构数组定义的闭合基数样条曲线的内部。此方法使用默认张力 0.5。
FillClosedCurve(Brush, Point[], FillMode)使用指定的填充模式填充由一组 Point 结构定义的闭合基数样条曲线的内部。此方法使用默认张力 0.5。
FillClosedCurve(Brush, PointF[], FillMode, float)使用指定的填充模式和张力填充由一组 PointF 结构定义的闭合基数样条曲线的内部。
FillClosedCurve(Brush, Point[], FillMode, float)使用指定的填充模式和张力填充由一组 Point 结构定义的闭合基数样条曲线的内部。
FillEllipse(Brush, Rectangle)填充由 Rectangle 结构指定的边界矩形定义的椭圆的内部。
FillEllipse(Brush, RectangleF)填充由 RectangleF 结构指定的边界矩形定义的椭圆的内部。
FillEllipse(Brush, float, float, float, float)填充由一对坐标、宽度和高度指定的边界矩形定义的椭圆的内部。
FillEllipse(Brush, int, int, int, int)填充由一对坐标、宽度和高度指定的边界矩形定义的椭圆的内部。
FillPath(Brush, GraphicsPath)填充 GraphicsPath 的内部。
FillPie(Brush, Rectangle, float, float)填充由 RectangleF 结构指定的椭圆和两条径向线定义的饼形区域的内部。
FillPie(Brush, RectangleF, float, float)填充由 RectangleF 结构指定的椭圆和两条径向线定义的饼形区域的内部。
FillPie(Brush, float, float, float, float, float, float)填充由一对坐标、宽度、高度以及两条径向线指定的椭圆定义的饼形区域的内部。
FillPie(Brush, int, int, int, int, int, int)填充由一对坐标、宽度、高度以及两条径向线指定的椭圆定义的饼形区域的内部。
FillPolygon(Brush, PointF[])使用 Alternate 填充由一组由 PointF 结构指定的点定义的多边形的内部。
FillPolygon(Brush, Point[])使用 Alternate 填充由一组由 Point 结构指定的点定义的多边形的内部。
FillPolygon(Brush, PointF[], FillMode)使用指定的填充模式填充由一组由 PointF 结构指定的点定义的多边形的内部。
FillPolygon(Brush, Point[], FillMode)使用指定的填充模式填充由一组由 Point 结构指定的点定义的多边形的内部。
FillRectangle(Brush, Rectangle)填充由 Rectangle 结构指定的矩形的内部。
FillRectangle(Brush, RectangleF)填充由 RectangleF 结构指定的矩形的内部。
FillRectangle(Brush, float, float, float, float)填充由一对坐标、宽度和高度指定的矩形的内部。
FillRectangle(Brush, int, int, int, int)填充由一对坐标、宽度和高度指定的矩形的内部。
FillRectangles(Brush, RectangleF[])填充由 RectangleF 结构指定的一系列矩形的内部。
FillRectangles(Brush, Rectangle[])填充由 Rectangle 结构指定的一系列矩形的内部。
FillRegion(Brush, Region)填充 Region 的内部。
MeasureString(string, Font, SizeF, StringFormat)使用指定的参数测量指定的文本字符串。
MultiplyTransform(Matrix)通过在前面添加指定的 Matrix,将表示此 Graphics 本地几何变换的 Matrix 与指定的 Matrix 相乘。
MultiplyTransform(Matrix, MatrixOrder)按照指定的顺序,将表示此 Graphics 本地几何变换的 Matrix 与指定的 Matrix 相乘。
ResetTransform()Transform 属性重置为单位矩阵。
RotateTransform(float)按指定角度旋转本地几何变换。此方法将旋转前置到变换中。
RotateTransform(float, MatrixOrder)按指定顺序以指定角度旋转本地几何变换。
ScaleTransform(float, float)按指定比例缩放本地几何变换。此方法将缩放矩阵前置到变换中。
ScaleTransform(float, float, MatrixOrder)按指定顺序以指定比例缩放本地几何变换。
TranslateTransform(float, float)按指定尺寸平移本地几何变换。此方法将平移前置到变换中。
TranslateTransform(float, float, MatrixOrder)按指定顺序以指定尺寸平移本地几何变换。

示例

此示例使用 Graphics 类在 Image 表面创建基本形状。为了演示操作,示例创建一个 PNG 格式的新 Image,并使用 Graphics 类提供的 Draw 方法在 Image 表面绘制基本形状。

[C#]

//创建 FileStream 的实例
using (System.IO.FileStream stream = new System.IO.FileStream(@"C:\temp\output.png", System.IO.FileMode.Create))
{
    //创建 PngOptions 的实例并设置其各种属性
    Aspose.Imaging.ImageOptions.PngOptions pngOptions = new Aspose.Imaging.ImageOptions.PngOptions();

    //为 PngOptions 设置 Source
    pngOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);

    //创建 Image 的实例
    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(pngOptions, 500, 500))
    {
        //创建并初始化 Graphics 类的实例
        Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(image);

        //清除 Graphics 表面
        graphics.Clear(Aspose.Imaging.Color.Wheat);

        //通过指定具有黑色的 Pen 对象绘制弧线,
        //一个围绕弧线的 Rectangle、起始角度和扫掠角度
        graphics.DrawArc(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Black, 2), new Aspose.Imaging.Rectangle(200, 200, 100, 200), 0, 300);

        //通过指定具有蓝色的 Pen 对象和坐标点绘制贝塞尔曲线。
        graphics.DrawBezier(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Blue, 2), new Aspose.Imaging.Point(250, 100), new Aspose.Imaging.Point(300, 30), new Aspose.Imaging.Point(450, 100), new Aspose.Imaging.Point(235, 25));

        //通过指定具有绿色的 Pen 对象和点数组绘制曲线
        graphics.DrawCurve(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Green, 2), new[] { new Aspose.Imaging.Point(100, 200), new Aspose.Imaging.Point(100, 350), new Aspose.Imaging.Point(200, 450) });

        //使用 Pen 对象和围绕的 Rectangle 绘制椭圆
        graphics.DrawEllipse(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Yellow, 2), new Aspose.Imaging.Rectangle(300, 300, 100, 100));

        //绘制直线
        graphics.DrawLine(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Violet, 2), new Aspose.Imaging.Point(100, 100), new Aspose.Imaging.Point(200, 200));

        //绘制饼图扇形
        graphics.DrawPie(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Silver, 2), new Aspose.Imaging.Rectangle(new Aspose.Imaging.Point(200, 20), new Aspose.Imaging.Size(200, 200)), 0, 45);

        //通过指定具有红色的 Pen 对象和点数组绘制多边形
        graphics.DrawPolygon(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Red, 2), new[] { new Aspose.Imaging.Point(20, 100), new Aspose.Imaging.Point(20, 200), new Aspose.Imaging.Point(220, 20) });

        //绘制矩形
        graphics.DrawRectangle(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Orange, 2), new Aspose.Imaging.Rectangle(new Aspose.Imaging.Point(250, 250), new Aspose.Imaging.Size(100, 100)));

        //创建 SolidBrush 对象并设置其各种属性
        Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush();
        brush.Color = Color.Purple;
        brush.Opacity = 100;

        //使用 SolidBrush 对象和 Font 在特定点绘制字符串
        graphics.DrawString("This image is created by Aspose.Imaging API", new Aspose.Imaging.Font("Times New Roman", 16), brush, new Aspose.Imaging.PointF(50, 400));

        // 保存所有更改。
        image.Save();
    }
}

另请参见