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. 中页面坐标的测量单位
SmoothingMode { get; set; }获取或设置平滑模式。
TextRenderingHint { get; set; }获取或设置文本渲染提示。
Transform { get; set; }获取或设置几何世界变换的副本Graphics .

方法

姓名描述
BeginUpdate()开始缓存以下图形操作。之后应用的图形效果不会立即应用,而是 EndUpdate 将导致一次应用所有效果。
Clear(Color)使用指定颜色清除图形表面。
DrawArc(Pen, Rectangle, float, float)绘制一条弧,表示由 a 指定的椭圆的一部分Rectangle结构.
DrawArc(Pen, RectangleF, float, float)绘制一条弧,表示由 a 指定的椭圆的一部分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)绘制由 a 指定的椭圆定义的饼形Rectangle结构和两条径向线。
DrawPie(Pen, RectangleF, float, float)绘制由 a 指定的椭圆定义的饼形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)绘制一个由 a 指定的矩形Rectangle结构.
DrawRectangle(Pen, RectangleF)绘制一个由 a 指定的矩形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)填充由 a 指定的边界矩形定义的椭圆的内部Rectangle结构.
FillEllipse(Brush, RectangleF)填充由 a 指定的边界矩形定义的椭圆的内部RectangleF结构.
FillEllipse(Brush, float, float, float, float)填充由一对坐标、宽度和高度指定的边界矩形定义的椭圆的内部。
FillEllipse(Brush, int, int, int, int)填充由一对坐标、宽度和高度指定的边界矩形定义的椭圆的内部。
FillPath(Brush, GraphicsPath)填充一个内部GraphicsPath .
FillPie(Brush, Rectangle, float, float)填充由 a 指定的椭圆定义的饼图部分的内部RectangleF结构和两条径向线。
FillPie(Brush, RectangleF, float, float)填充由 a 指定的椭圆定义的饼图部分的内部RectangleF结构和两条径向线。
FillPie(Brush, float, float, float, float, float, float)填充由一对坐标、宽度、高度和两条径向线指定的椭圆定义的饼图部分的内部。
FillPie(Brush, int, int, int, int, int, int)填充由一对坐标、宽度、高度和两条径向线指定的椭圆定义的饼图部分的内部。
FillPolygon(Brush, PointF[])填充由指定的点数组定义的多边形内部PointF结构和Alternate .
FillPolygon(Brush, Point[])填充由指定的点数组定义的多边形内部Point结构和Alternate .
FillPolygon(Brush, PointF[], FillMode)填充由指定的点数组定义的多边形内部PointF使用指定填充模式的结构。
FillPolygon(Brush, Point[], FillMode)填充由指定的点数组定义的多边形内部Point使用指定填充模式的结构。
FillRectangle(Brush, Rectangle)填充由 a 指定的矩形的内部Rectangle结构.
FillRectangle(Brush, RectangleF)填充由 a 指定的矩形的内部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)乘以Matrix表示这个的局部几何变换Graphics由指定的Matrix按指定顺序。
ResetTransform()重置Transform身份的属性.
RotateTransform(float)将局部几何变换旋转指定的量。此方法将旋转添加到 transform.
RotateTransform(float, MatrixOrder)以指定顺序将局部几何变换旋转指定量。
ScaleTransform(float, float)按指定量缩放局部几何变换。此方法将缩放矩阵添加到 transform.
ScaleTransform(float, float, MatrixOrder)按指定顺序按指定量缩放局部几何变换。
TranslateTransform(float, float)按指定尺寸平移局部几何变换。此方法将转换添加到 transform.
TranslateTransform(float, float, MatrixOrder)以指定顺序按指定维度平移局部几何变换。

例子

此示例使用 Graphics 类在 Image 表面上创建原始形状。为了演示该操作,该示例创建一个 PNG 格式的新图像,并使用 Graphics 类公开的 Draw 方法在图像表面上绘制原始形状

[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的来源
    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.Clear(Aspose.Imaging.Color.Wheat);

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

        //通过指定具有蓝色和坐标点的 Pen 对象来绘制 Bezier。
        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 对象和字体在特定点绘制一个字符串
        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();
    }
}

也可以看看