NSGraphicsContext
NSGraphicsContext
класс является программируемым интерфейсом к объектам, представляющим графические контексты. Контекст может считаться местом назначения, к которому рисование и операции состояния графики отправляется за выполнением. Каждый графический контекст содержит свою собственную графическую среду и состояние.
NSGraphicsContext
класс является абстрактным суперклассом для целевых специфичных графических контекстов. Вы получаете экземпляры конкретных подклассов с методами класса currentContext
, graphicsContextWithAttributes:
, graphicsContextWithBitmapImageRep:
, graphicsContextWithGraphicsPort:flipped:
, и graphicsContextWithWindow:
.
В любое время существует понятие текущего контекста. Текущий контекст для текущего потока может быть установлен с помощью setCurrentContext:
.
Графические контексты сохраняются на штабеле. Вы продвигаете графический контекст на штабель путем отправки ему a saveGraphicsState
сообщение и популярность это от штабеля путем отправки ему a restoreGraphicsState
сообщение. Путем отправки restoreGraphicsState
к NSGraphicsContext
объект Вы удаляете его из штабеля и следующего графического контекста на штабеле, становится текущим графическим контекстом.
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
-
Инстанцирует и возвращает экземпляр
NSGraphicsContext
использование указанных атрибутов.Объявление
Swift
init?(attributes
attributes
: [NSObject : AnyObject]) -> NSGraphicsContextObjective C
+ (NSGraphicsContext *)graphicsContextWithAttributes:(NSDictionary *)
attributes
Параметры
attributes
Словарь значений связался с ключами, описанными в
“Attribute dictionary keys”
. Атрибуты указывают такие вещи как формат представления и место назначения.Возвращаемое значение
Новое
NSGraphicsContext
объект илиnil
если не мог бы быть создан объект.Обсуждение
Используйте этот метод, чтобы создать графический контекст для окна или побитово отобразить место назначения. Если Вы хотите создать графический контекст для PDF или места назначения PostScript, не используйте этот метод; вместо этого, используйте
NSPrintOperation
класс для установки среды печати должен был генерировать тот тип информации.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Инстанцирует и возвращает новый графический контекст с помощью предоставленного
NSBitmapImageRep
возразите как место назначения контекста.Объявление
Swift
init?(bitmapImageRep
bitmapRep
: NSBitmapImageRep) -> NSGraphicsContextObjective C
+ (NSGraphicsContext *)graphicsContextWithBitmapImageRep:(NSBitmapImageRep *)
bitmapRep
Параметры
bitmapRep
NSBitmapImageRep
возразите для использования в качестве места назначения.Возвращаемое значение
Создаваемый
NSGraphicsContext
объект илиnil
если не мог бы быть создан объект.Обсуждение
Этот метод принимает только единственную плоскость
NSBitmapImageRep
экземпляры. Это - эквивалент использованияgraphicsContextWithAttributes:
и передачаbitmapRep
как значение для словаряNSGraphicsContextDestinationAttributeName
ключ.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Инстанцирует и возвращает новый графический контекст из данного графического порта.
Объявление
Swift
init(graphicsPort
graphicsPort
: UnsafeMutablePointer<Void>, flippedinitialFlippedState
: Bool) -> NSGraphicsContextObjective C
+ (NSGraphicsContext *)graphicsContextWithGraphicsPort:(void *)
graphicsPort
flipped:(BOOL)initialFlippedState
Параметры
graphicsPort
Графический порт раньше создавал графический объект контекста. Обычно
graphicsPort
aCGContextRef
(непрозрачный тип) объект.initialFlippedState
Указывает начальную букву получателя зеркально отраженное состояние. Это - значение, возвращенное
flipped
когда не фокусируется никакое представление.Возвращаемое значение
Создаваемый
NSGraphicsContext
объект илиnil
если не мог бы быть создан объект.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
Создает и возвращает новый графический контекст для того, чтобы вовлечь окно.
Объявление
Swift
init(window
aWindow
: NSWindow) -> NSGraphicsContextObjective C
+ (NSGraphicsContext *)graphicsContextWithWindow:(NSWindow *)
aWindow
Параметры
aWindow
Объект окна, представляющий окно для использования для рисования.
Возвращаемое значение
Создаваемый
NSGraphicsContext
объект илиnil
если не мог бы быть создан объект.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает текущий графический контекст текущего потока.
Объявление
Swift
class func currentContext() -> NSGraphicsContext?
Objective C
+ (NSGraphicsContext *)currentContext
Возвращаемое значение
Текущий графический контекст текущего потока.
Обсуждение
Возвращает экземпляр конкретного подкласса
NSGraphicsContext
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Устанавливает текущий графический контекст текущего потока.
Объявление
Swift
class func setCurrentContext(_
context
: NSGraphicsContext?)Objective C
+ (void)setCurrentContext:(NSGraphicsContext *)
context
Параметры
context
Графический объект контекста для установки как текущий. Это должно быть экземпляром конкретного подкласса
NSGraphicsContext
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Низкий уровень, специфичный для платформы графический контекст представлен графическим портом. (только для чтения)
Объявление
Swift
var graphicsPort: UnsafeMutablePointer<Void> { get }
Objective C
@property(readonly) void *graphicsPort
Обсуждение
В OS X это - Базовый Графический контекст, a
CGContextRef
объект (непрозрачный тип).Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.10.
-
setGraphicsState (_:) + setGraphicsState:
(OS X v10.10)Делает графический контекст указанного состояния графики текущим, и сбрасывает состояние графики.
Объявление
Swift
class func setGraphicsState(_
gState
: Int)Objective C
+ (void)setGraphicsState:(NSInteger)
gState
Обсуждение
graphicState
идентификатор должен быть создан в вызывающем потоке.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.10.
-
Выталкивает графический контекст от штабеля на поток, делает его текущим, и отправляет контекст a
restoreGraphicsState
сообщение.Объявление
Swift
class func restoreGraphicsState()
Objective C
+ (void)restoreGraphicsState
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Удаляет состояние графики получателя из вершины штабеля состояния графики и делает следующее состояние графики текущим состоянием графики.
Объявление
Swift
func restoreGraphicsState()
Objective C
- (void)restoreGraphicsState
Обсуждение
Этому методу, должно быть, предшествовали с a
saveGraphicsState
сообщение для добавления состояния графики к штабелю. ВызовыsaveGraphicsState
иrestoreGraphicsState
методы могут быть вложены.Восстановление состояния графики восстанавливает такие атрибуты как текущий стиль получения, матрица преобразования, цвет и шрифт состояния исходных изображений.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Сохраняет состояние графики текущего графического контекста.
Объявление
Swift
class func saveGraphicsState()
Objective C
+ (void)saveGraphicsState
Обсуждение
Этот метод отправляет текущий графический контекст a
saveGraphicsState
сообщение и нажатия контекст на штабель на поток.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Сохраняет текущее состояние графики и создает новое состояние графики на вершине штабеля.
Объявление
Swift
func saveGraphicsState()
Objective C
- (void)saveGraphicsState
Обсуждение
Новое состояние графики является копией предыдущего состояния, которое может быть изменено для обработки новых операций рисования.
Сохранение состояния графики сохраняет такие атрибуты как текущий стиль получения, матрица преобразования, цвет и шрифт. Для установки атрибутов стиля получения используйте методы
NSBezierPath
. К другим атрибутам получают доступ через надлежащие объекты такой какNSAffineTransform
,NSColor
, иNSFont
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает булево значение, указывающее, рисует ли текущий контекст на экран.
Объявление
Swift
class func currentContextDrawingToScreen() -> Bool
Objective C
+ (BOOL)currentContextDrawingToScreen
Возвращаемое значение
YES
true
если текущий контекст рисует на экран, иначеNO
false
.Обсуждение
Этот удобный метод эквивалентен отправке
drawingToScreen
к результатуcurrentContext
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
drawingToScreen drawingToScreen
СвойствоБулево значение, указывающее, является ли место назначения получения экраном. (только для чтения)
Объявление
Swift
var drawingToScreen: Bool { get }
Objective C
@property(getter=isDrawingToScreen, readonly) BOOL drawingToScreen
Обсуждение
YES
true
если место назначения получения является экраном. Если значение свойстваNO
false
может означать, что место назначения получения является принтером, но место назначения может также быть файл EPS или PDF. Можно вызватьattributes
видеть, доступна ли дополнительная информация о месте назначения получения.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
Атрибуты раньше создавали этот экземпляр (только для чтения)
Объявление
Swift
var attributes: [NSObject : AnyObject]? { get }
Objective C
@property(readonly, copy) NSDictionary *attributes
Обсуждение
Основанные на экране графические контексты не хранят атрибуты даже при создании их использование
graphicsContextWithAttributes:
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
зеркально отраженный зеркально отраженный
СвойствоБулево значение, указывающее зеркально отраженное состояние получателя. (только для чтения)
Объявление
Swift
var flipped: Bool { get }
Objective C
@property(getter=isFlipped, readonly) BOOL flipped
Обсуждение
Состояние определяется путем отправки
flipped
к фокусирующемуся представлению получателя. Если никакое представление не фокусируется, возвратыNO
false
если с помощью получатель не инстанцируютgraphicsContextWithGraphicsPort:flipped:
указаниеYES
true
как зеркально отраженное свойство.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
Силы любые буферизированные операции или данные, которые будут отправлены месту назначения получателя.
Объявление
Swift
func flushGraphics()
Objective C
- (void)flushGraphics
Обсуждение
Графические буферы использования контекстов очереди незаконченные операции, но по причинам эффективности могут не всегда сразу освободить те буферы. Этот метод вынуждает буферы быть освобожденными.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
focusStack - focusStack
(OS X v10.6)Возвращает объект, используемый контекстом для отслеживания иерархии представлений с заблокированным фокусом.
Объявление
Objective C
- (id)focusStack
Возвращаемое значение
Объект, используемый контекстом для отслеживания иерархии представлений с заблокированным фокусом.
Обсуждение
Вы никогда не должны должны быть получать или изменять данные стека фокуса. Использование штабелей фокуса может быть осуждено в будущем выпуске.
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.6.
-
setFocusStack: - setFocusStack:
(OS X v10.6)Устанавливает объект, используемый получателем для отслеживания иерархии представлений с заблокированным фокусом.
Объявление
Objective C
- (void)setFocusStack:(id)
stack
Параметры
stack
Объект используется графическим контекстом для отслеживания иерархии представления.
Обсуждение
Вы никогда не должны должны быть получать или изменять данные стека фокуса. Использование штабелей фокуса может быть осуждено в будущем выпуске.
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.6.
-
compositingOperation compositingOperation
СвойствоГлобальная составляющая композит установка работы получателя.
Объявление
Swift
var compositingOperation: NSCompositingOperation
Objective C
@property NSCompositingOperation compositingOperation
Обсуждение
Составляющая композит работа является глобальным атрибутом графического контекста и влияет на операции рисования, не берущие явный параметр работы составления композита. Для методов, действительно берущих явный параметр работы составления композита, значение того параметра заменяет глобальное значение. Составляющие композит операции связаны с (но отличающиеся от) настройки режима смешивания, используемые в Кварце. Только работа составления композита значения по умолчанию (
NSCompositeCopy
) поддерживается при рендеринге содержания PostScript или PDF. ПосмотритеNSCompositingOperation
для допустимых констант.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
imageInterpolation imageInterpolation
СвойствоКонстанта, указывающая интерполяцию получателя (сглаживание изображения) поведение.
Объявление
Swift
var imageInterpolation: NSImageInterpolation
Objective C
@property NSImageInterpolation imageInterpolation
Обсуждение
Обратите внимание на то, что это значение не является частью состояния графики, таким образом, это не может быть сброшено с помощью
restoreGraphicsState
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
shouldAntialias shouldAntialias
СвойствоБулево значение, указывающее, использует ли получатель сглаживание.
Объявление
Swift
var shouldAntialias: Bool
Objective C
@property BOOL shouldAntialias
Обсуждение
YES
true
если получатель использует сглаживание. Это значение является частью состояния графики и восстанавливаетсяrestoreGraphicsState
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
patternPhase patternPhase
СвойствоСумма для возмещения образца окрашивает при заполнении получателя.
Обсуждение
Используйте это свойство, когда необходимо будет выровнять цвет образца с другим образцом, таким как образец в суперпредставлении. Фаза образца является переводом (ширина, высота) примененный, прежде чем образец будет нарисован в текущем контексте и будет частью сохраненного состояния графики контекста. Фаза образца по умолчанию (0,0). Установка фазы образца имеет эффект временного изменения матрицы образца любого образца, который Вы решаете нарисовать. Например, установка фазы образца к (2,3) имеет эффект перемещения запуска мозаичного размещения ячейки образца к точке (2,3) в пространстве пользователя по умолчанию.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.2 и позже.
-
A
CIContext
возразите, что можно использовать для рендеринга в получателе. (только для чтения)Объявление
Swift
var CIContext: CIContext? { get }
Objective C
@property(readonly, strong) CIContext *CIContext
Обсуждение
A
CIContext
объект илиnil
если не мог бы быть создан объект.CIContext
объект создается по требованию и остается существующим для времени жизни его владенияNSGraphicsContext
объект. ACIContext
объект является контекстом оценки для рендеринга aCIImage
объект через 2D Кварц или OpenGL. Вы используетеCIContext
объекты в сочетании сCIFilter
,CIImage
,CIVector
, иCIColor
объекты использовать в своих интересах встроенные Базовые фильтры Изображения при обработке изображений.Для больше на
CIContext
объекты и связанные Базовые Объекты изображения, см. Базовое Руководство по программированию Изображения.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
colorRenderingIntent colorRenderingIntent
СвойствоТекущее намерение рендеринга в состоянии графики получателя.
Объявление
Swift
var colorRenderingIntent: NSColorRenderingIntent
Objective C
@property NSColorRenderingIntent colorRenderingIntent
Обсуждение
“Creating a Graphics Context”
значение, указывающее намерение рендеринга, в настоящее время используемое получателем. Поскольку возможные значения видят NSColorRenderingIntent. Намерение рендеринга указывает, как Какао должно обработать цвета, не расположенные в палитре целевого цветового пространства графического контекста. Если Вы явно не устанавливаете намерение рендеринга, и выбранные изображения рисуются,NSGraphicsContext
использует перцепционное намерение рендеринга. Иначе,NSGraphicsContext
использует относительное колориметрическое намерение рендеринга.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Эти константы являются ключами словаря, используемыми
graphicsContextWithAttributes:
иattributes
.Объявление
Swift
var NSGraphicsContextDestinationAttributeName: NSString! var NSGraphicsContextRepresentationFormatAttributeName: NSString!
Objective C
NSString *NSGraphicsContextDestinationAttributeName; NSString *NSGraphicsContextRepresentationFormatAttributeName;
Константы
-
NSGraphicsContextDestinationAttributeName
NSGraphicsContextDestinationAttributeName
Может быть экземпляр
NSWindow
илиNSBitmapImageRep
при создании графического контекста.При определении типа графического контекста это значение может быть
NSMutableData
,NSString
, илиNSURL
объект.Доступный в OS X v10.0 и позже.
-
NSGraphicsContextRepresentationFormatAttributeName
NSGraphicsContextRepresentationFormatAttributeName
Указывает целевой формат файла.
Это значение должно получаться только и не использоваться для создания графического контекста.
Доступный в OS X v10.0 и позже.
-
-
Эти константы являются возможными значениями для
NSGraphicsContextRepresentationFormatAttributeName
введите словарь атрибута графического контекста.Объявление
Objective C
NSString *NSGraphicsContextPSFormat; NSString *NSGraphicsContextPDFFormat;
Константы
-
Эти интерполяции используются
imageInterpolation
свойство.Объявление
Swift
enum NSImageInterpolation : UInt { case Default case None case Low case Medium case High }
Objective C
enum { NSImageInterpolationDefault = 0, NSImageInterpolationNone = 1, NSImageInterpolationLow = 2, NSImageInterpolationMedium = 4, NSImageInterpolationHigh = 3 }; typedef NSUInteger NSImageInterpolation;
Константы
-
Default
NSImageInterpolationDefault
Используйте интерполяцию контекста по умолчанию.
Доступный в OS X v10.0 и позже.
-
None
NSImageInterpolationNone
Никакая интерполяция.
Доступный в OS X v10.0 и позже.
-
Low
NSImageInterpolationLow
Быстро, низкокачественная интерполяция.
Доступный в OS X v10.0 и позже.
-
Medium
NSImageInterpolationMedium
Среднее качество, медленнее, чем
NSImageInterpolationLow
.Доступный в OS X v10.6 и позже.
-
High
NSImageInterpolationHigh
Высшее качество, медленнее, чем
NSImageInterpolationMedium
.Доступный в OS X v10.0 и позже.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
-
Эти константы указывают, как Какао должно обработать цвета, не расположенные в целевом цветовом пространстве графического контекста. Эти константы используются свойством
colorRenderingIntent
.Объявление
Swift
enum NSColorRenderingIntent : Int { case Default case AbsoluteColorimetric case RelativeColorimetric case Perceptual case Saturation }
Objective C
enum { NSColorRenderingIntentDefault, NSColorRenderingIntentAbsoluteColorimetric, NSColorRenderingIntentRelativeColorimetric, NSColorRenderingIntentPerceptual, NSColorRenderingIntentSaturation }; typedef NSInteger NSColorRenderingIntent;
Константы
-
Default
NSColorRenderingIntentDefault
Используйте намерение рендеринга значения по умолчанию для графического контекста.
Доступный в OS X v10.5 и позже.
-
AbsoluteColorimetric
NSColorRenderingIntentAbsoluteColorimetric
Карта окрашивает за пределами палитры устройства вывода к самому близкому соответствию в палитре устройства вывода.
Эта работа может произвести эффект отсечения, где два различных значения цвета в палитре графического контекста отображаются на том же значении цвета в палитре устройства вывода. В отличие от относительного колориметрического, колориметрического абсолютного не изменяет цвета в палитре устройства вывода.
Доступный в OS X v10.5 и позже.
-
RelativeColorimetric
NSColorRenderingIntentRelativeColorimetric
Карта окрашивает за пределами палитры устройства вывода к самому близкому соответствию в палитре устройства вывода.
Эта работа может произвести эффект отсечения, где два различных значения цвета в палитре графического контекста отображаются на том же значении цвета в палитре устройства вывода. Относительные колориметрические сдвиги все цвета (включая тех в палитре) для учета различия между белой точкой графического контекста и белой точкой устройства вывода.
Доступный в OS X v10.5 и позже.
-
Perceptual
NSColorRenderingIntentPerceptual
Сохраните визуальное отношение между цветами путем сжатия палитры графического контекста для адаптации в палитре устройства вывода.
Перцепционное намерение хорошо для фотографий и другого комплекса, подробных изображений.
Доступный в OS X v10.5 и позже.
-
Saturation
NSColorRenderingIntentSaturation
Сохраните относительную степень насыщения цветов при преобразовании в палитру устройства вывода.
Результатом является изображение с яркими, насыщенными цветами. Намерение насыщенности хорошо для репродуцирования изображений с низкой подробностью, таково как диаграммы представления и графики.
Доступный в OS X v10.5 и позже.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-