CGContext 类

定义

要在其中绘制的图形上下文和基元。

public class CGContext : IDisposable, ObjCRuntime.INativeObject
type CGContext = class
    interface INativeObject
    interface IDisposable
继承
CGContext
派生
实现

注解

A CGContext 是用于绘制的 2D 石英目标。 它保存参数及其状态 (使用 * 等函数设置的参数及其状态) 和设备信息 (,例如 ConvertSizeToDeviceSpace(CGSize) ,) 。 CGContext可以表示屏幕区域、位图、PDF 文档或打印机。

可用数量 CGContext有限,应用程序开发人员应在使用后认真处理它们。 通常,这意味着将绘图代码放入块中 using ,如以下示例所示:

public override void Draw (RectangleF rect)
{
    base.Draw (rect);
    using (var context = UIGraphics.GetCurrentContext ())
    {
        // draw a rectangle using a path
	var myRectangleButtonPath = new CGPath ();
	myRectangleButtonPath.AddRect (new RectangleF (new PointF (100, 10), new SizeF (200, 400)));
	context.AddPath (myRectangleButtonPath);
	context.DrawPath (CGPathDrawingMode.Stroke);
    }
}          

该示例还演示了自定义中重写Draw(CGRect)方法的非常常见的模式,以及使用 GetImageFromCurrentImageContext() 检索要绘制的当前 CGContextUIView

构造函数

CGContext(IntPtr)

从非托管的 CGContextRef 句柄创建 CGContext。

属性

Handle

处理指向非托管对象表示形式的 (指针) 。

InterpolationQuality

内插图像时使用的质量级别的提示 (例如缩放) 时。

TextMatrix

定义文本空间和用户空间之间的转换。 独立于 CGContext的状态。

TextPosition

要绘制文本的位置(以用户空间坐标为单位)。

方法

AddArc(nfloat, nfloat, nfloat, nfloat, nfloat, Boolean)

要在其中绘制的图形上下文和基元。

AddArcToPoint(nfloat, nfloat, nfloat, nfloat, nfloat)

向当前路径添加一个弧线。

AddCurveToPoint(nfloat, nfloat, nfloat, nfloat, nfloat, nfloat)

使用指定的控制参数在当前点添加三次方贝塞尔曲线。

AddEllipseInRect(CGRect)

添加一个适合指定 rect的椭圆。

AddLines(CGPoint[])

将给定行添加到当前路径。

AddLineToPoint(nfloat, nfloat)

从当前点追加一条线, (看到 GetPathCurrentPoint()) 到用户空间中的指定坐标。

AddPath(CGPath)

将指定路径添加到当前路径。

AddQuadCurveToPoint(nfloat, nfloat, nfloat, nfloat)

将二次贝塞尔曲线添加到当前路径。

AddRect(CGRect)

将矩形路径添加到当前路径。

AddRects(CGRect[])

将矩形路径数组添加到当前路径。

AsBitmapContext()

将 CGContext 强制转换为 CGBitmapContext。

BeginPage(Nullable<CGRect>)

要在其中绘制的图形上下文和基元。

BeginPath()

在图形上下文中启动新路径。

BeginTransparencyLayer(CGRect, NSDictionary)

要在其中绘制的图形上下文和基元。

BeginTransparencyLayer(NSDictionary)

使用 EndTransparencyLayer(),将操作包含在完全透明的层上。

ClearRect(CGRect)

以透明方式绘制矩形。

Clip()

将图形上下文的当前路径设置为剪切路径。

ClipToMask(CGRect, CGImage)

要在其中绘制的图形上下文和基元。

ClipToRect(CGRect)

将剪裁路径修改为当前路径和提供的矩形的交集。

ClipToRects(CGRect[])

将当前剪裁路径修改为当前剪切路径的 insersection 以及由提供的矩形指定的区域。

ClosePath()

关闭并完成当前路径。

ConcatCTM(CGAffineTransform)

将指定的 transform 连接到当前转换矩阵。

ContextFillRects(CGRect[])

要在其中绘制的图形上下文和基元。

ConvertPointToUserSpace(CGPoint)

将点从设备空间坐标转换为用户空间坐标。

ConvertRectToDeviceSpace(CGRect)

将矩形从用户空间坐标转换为设备空间坐标。

ConvertRectToUserSpace(CGRect)

将矩形从设备空间坐标转换为用户空间坐标。

ConvertSizeToDeviceSpace(CGSize)

将大小从用户空间坐标转换为设备空间坐标。

ConvertSizeToUserSpace(CGSize)

将大小从设备空间坐标转换为用户空间坐标。

CopyPath()

返回当前上下文中当前路径的深层副本。

Dispose()

释放 CGContext 对象使用的资源。

Dispose(Boolean)

释放 CGContext 对象使用的资源。

DrawImage(CGRect, CGImage)

要在其中绘制的图形上下文和基元。

DrawLayer(CGLayer, CGPoint)

在指定点将一个层绘制到图形上下文中。

DrawLayer(CGLayer, CGRect)

将一个层绘制到由指定矩形绑定的图形上下文中。

DrawLinearGradient(CGGradient, CGPoint, CGPoint, CGGradientDrawingOptions)

要在其中绘制的图形上下文和基元。

DrawPath(CGPathDrawingMode)

绘制 的 CGContext当前路径。

DrawPDFPage(CGPDFPage)

呈现指定的 PDF page

DrawRadialGradient(CGGradient, CGPoint, nfloat, CGPoint, nfloat, CGGradientDrawingOptions)

要在其中绘制的图形上下文和基元。

DrawShading(CGShading)

呈现指定的 shading

DrawTiledImage(CGRect, CGImage)

要在其中绘制的图形上下文和基元。

EndPage()

调用 以指示基于页面的上下文中页面的末尾。

EndTransparencyLayer()

指示透明层的末尾。

EOClip()

使用Even-Odd规则修改当前剪辑路径。

EOFillPath()

使用Even-Odd规则填充当前路径。

FillEllipseInRect(CGRect)

绘制 定义的 rect椭圆。 之后,将重置当前路径。

FillPath()

使用非零缠绕规则填充当前路径。

FillRect(CGRect)

绘制指定的 rect

Finalize()

CGContext 对象的终结器

Flush()

强制呈现所有挂起的绘图。

GetClipBoundingBox()

当前剪切路径的边界框。

GetCTM()

检索当前上下文转换矩阵。

GetPathBoundingBox()

返回当前路径的边界框。

GetPathCurrentPoint()

路径中的 CGContext当前点。

GetUserSpaceToDeviceSpaceTransform()

CGAffineTransform 用户空间坐标映射到设备空间坐标的 。

IsPathEmpty()

当前路径是否包含任何子路径。

MoveTo(nfloat, nfloat)

从指定位置处开始子路径。

PathContainsPoint(CGPoint, CGPathDrawingMode)

要在其中绘制的图形上下文和基元。

PointToDeviceSpace(CGPoint)

返回将用户空间转换为设备空间point的新PointF值。

ReplacePathWithStrokedPath()

根据笔划参数,将当前路径替换为路径的笔划版本。

ResetClip()

要在其中绘制的图形上下文和基元。

RestoreState()

将 的状态 CGContext 设置为上次调用 时 SaveState() 的状态。

RotateCTM(nfloat)

angle 弧度旋转当前转换矩阵,正值逆时针旋转。

SaveState()

存储 的状态 CGContext。 (请参阅RestoreState().)

ScaleCTM(nfloat, nfloat)

缩放当前转换矩阵。

SelectFont(String, nfloat, CGTextEncoding)

开发人员不应使用此已弃用的方法。 开发人员应改用“CoreText”API。

SetAllowsAntialiasing(Boolean)

上下文是否允许抗锯齿。

SetAllowsFontSmoothing(Boolean)

上下文是否允许字体平滑。

SetAllowsFontSubpixelQuantization(Boolean)

上下文是否允许在子像素位置绘制字形。

SetAllowsSubpixelPositioning(Boolean)

上下文是否允许除与像素边界对齐以外的字形。

SetAlpha(nfloat)

将绘图的不透明度(在 0.0 (透明) 范围设置为 1.0 (不透明) 。

SetBlendMode(CGBlendMode)

指定合成模式。

SetCharacterSpacing(nfloat)

在字形之间添加额外的间距。

SetFillColor(CGColor)

将填充颜色设置为指定的 CGColor

SetFillColor(nfloat, nfloat)

将填充颜色设置为灰色级别,范围为 0 (黑色) 到 1 (白色) 。

SetFillColor(nfloat, nfloat, nfloat, nfloat)

将填充颜色设置为指定的 RGBA 值。

SetFillColor(nfloat, nfloat, nfloat, nfloat, nfloat)

使用 CMYK 颜色空间分量以及 alpha 值设置填充颜色。

SetFillColor(nfloat[])

设置填充颜色。 SetFillColorSpace(CGColorSpace) 必须先调用 。

SetFillColorSpace(CGColorSpace)

指定要 CGColorSpace 在上下文中使用的 。

SetFillPattern(CGPattern, nfloat[])

设置上下文的填充模式。

SetFlatness(nfloat)

曲线路径的准确性。

SetFont(CGFont)

CGFont设置用于呈现文本的 。

SetFontSize(nfloat)

设置用于呈现文本的字体大小。

SetLineCap(CGLineCap)

设置行尾的样式。

SetLineDash(nfloat, nfloat[])

用于绘制虚线的图案。

SetLineDash(nfloat, nfloat[], Int32)

要在其中绘制的图形上下文和基元。

SetLineJoin(CGLineJoin)

设置行的联接方式。

SetLineWidth(nfloat)

设置笔划线的宽度。 线条延伸一半 w 到路径的任一侧。

SetMiterLimit(nfloat)

指定连接线的斜接限制。

SetPatternPhase(CGSize)

在开始平铺之前转换模式。

SetRenderingIntent(CGColorRenderingIntent)

如何处理目标颜色空间以外的颜色。

SetShadow(CGSize, nfloat, CGColor)

要在其中绘制的图形上下文和基元。

SetShouldAntialias(Boolean)

SetAllowsAntialiasing(Boolean) 结合使用以启用或禁用抗锯齿。

SetShouldSmoothFonts(Boolean)

SetAllowsFontSmoothing(Boolean) 结合使用以启用或禁用字体平滑。

SetShouldSubpixelPositionFonts(Boolean)

SetAllowsSubpixelPositioning(Boolean) 结合使用以启用或禁用像素的字形对齐。

SetStrokeColor(CGColor)

设置笔划颜色。

SetStrokeColor(nfloat, nfloat)

将笔划颜色设置为灰度值。

SetStrokeColor(nfloat, nfloat, nfloat, nfloat)

将笔划颜色设置为 RGBA 颜色。

SetStrokeColor(nfloat, nfloat, nfloat, nfloat, nfloat)

将笔划颜色设置为 CMYKA 颜色。

SetStrokeColor(nfloat[])

设置笔划颜色。 如果不事先设置颜色空间,此 API 具有未定义的行为。

SetStrokeColorSpace(CGColorSpace)

CGColorSpace设置要与 M:CoreGraphics.CGContext.SetStrokeColor (float[]) 一起使用的 。

SetStrokePattern(CGPattern, nfloat[])

设置上下文的笔划模式。

SetTextDrawingMode(CGTextDrawingMode)

指定应如何呈现字形。

ShouldSubpixelQuantizeFonts(Boolean)

使用 SetAllowsFontSubpixelQuantization(Boolean),确定是否应在子像素位置绘制字体。

ShowGlyphs(UInt16[])

此方法已弃用,取而代之为 N:CoreText

ShowGlyphs(UInt16[], Int32)

此方法已弃用,取而代之为 N:CoreText

ShowGlyphsAtPoint(nfloat, nfloat, UInt16[])

要在其中绘制的图形上下文和基元。

ShowGlyphsAtPoint(nfloat, nfloat, UInt16[], Int32)

要在其中绘制的图形上下文和基元。

ShowGlyphsAtPositions(UInt16[], CGPoint[], Int32)

要在其中绘制的图形上下文和基元。

ShowGlyphsWithAdvances(UInt16[], CGSize[], Int32)

要在其中绘制的图形上下文和基元。

ShowText(Byte[])

此方法已弃用,取而代之为 N:CoreText

ShowText(Byte[], Int32)

此方法已弃用,取而代之为 N:CoreText

ShowText(String)

此方法已弃用,取而代之为 N:CoreText

ShowText(String, Int32)

此方法已弃用,取而代之为 N:CoreText

ShowTextAtPoint(nfloat, nfloat, Byte[])

要在其中绘制的图形上下文和基元。

ShowTextAtPoint(nfloat, nfloat, Byte[], Int32)

要在其中绘制的图形上下文和基元。

ShowTextAtPoint(nfloat, nfloat, String)

要在其中绘制的图形上下文和基元。

ShowTextAtPoint(nfloat, nfloat, String, Int32)

要在其中绘制的图形上下文和基元。

StrokeEllipseInRect(CGRect)

画由 定义的 rect椭圆。 之后,重置当前路径。

StrokeLineSegments(CGPoint[])

在 中 points绘制由对定义的线条。 之后,重置当前路径。

StrokePath()

笔划当前路径。 之后,重置当前路径。

StrokeRect(CGRect)

笔划指定的 rect。 之后,重置当前路径。

StrokeRectWithWidth(CGRect, nfloat)

rect笔划 。 线的一 width 半延伸到外围的 rect 两侧。

Synchronize()

将 标记为 CGContext 要更新。

TranslateCTM(nfloat, nfloat)

更改用户坐标系的原点。

适用于

另请参阅