Поделиться через


CGContext Класс

Определение

Графический контекст и примитивы для рисования в них.

public class CGContext : IDisposable, ObjCRuntime.INativeObject
type CGContext = class
    interface INativeObject
    interface IDisposable
Наследование
CGContext
Производный
Реализации

Комментарии

CGContext это 2D-назначение кварца для рисования. Он содержит параметры и их состояния (задаются с помощью таких функций M:CoreGraphics.CGContext.SetFillColor*) и сведения об устройстве (например, 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) метода в пользовательском UIView и использование для извлечения текущего GetImageFromCurrentImageContext()CGContext объекта, на котором выполняется рисование.

Конструкторы

CGContext(IntPtr)

Создает CGContext из неуправляемого дескриптора CGContextRef.

Свойства

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[])

Изменяет текущий путь обрезки таким образом, чтобы он был инсерсекцией текущего пути обрезки и областью, заданной предоставленными прямоугольниками.

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)

Возвращает новый PointF объект , преобразующий пространство point пользователя в пространство устройства.

ReplacePathWithStrokedPath()

Заменяет текущий путь на версию пути с обводкой на основе пареметров росчерка.

ResetClip()

Графический контекст и примитивы для рисования в них.

RestoreState()

Задает состояние объекта в CGContext том, каким он был при SaveState() последнем вызове.

RotateCTM(nfloat)

Поворачивает текущую матрицу преобразования по радианам angle с положительными значениями, вращающимися против часовой стрелки.

SaveState()

Хранит состояние объекта CGContext. (См. раздел RestoreState().)

ScaleCTM(nfloat, nfloat)

Масштабирует текущую матрицу преобразования.

SelectFont(String, nfloat, CGTextEncoding)

Разработчики не должны использовать этот нерекомендуемый метод. Вместо этого разработчикам следует использовать API CoreText.

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, а также альфа-значения.

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[])

Этот метод не рекомендуется использовать вместо .

ShowGlyphs(UInt16[], Int32)

Этот метод не рекомендуется использовать вместо .

ShowGlyphsAtPoint(nfloat, nfloat, UInt16[])

Графический контекст и примитивы для рисования в них.

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

Графический контекст и примитивы для рисования в них.

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

Графический контекст и примитивы для рисования в них.

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

Графический контекст и примитивы для рисования в них.

ShowText(Byte[])

Этот метод не рекомендуется использовать вместо .

ShowText(Byte[], Int32)

Этот метод не рекомендуется использовать вместо .

ShowText(String)

Этот метод не рекомендуется использовать вместо .

ShowText(String, Int32)

Этот метод не рекомендуется использовать вместо .

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)

Изменяет источник пользовательской системы координат.

Применяется к

См. также раздел