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?(attributesattributes: [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?(bitmapImageRepbitmapRep: NSBitmapImageRep) -> NSGraphicsContextObjective C
+ (NSGraphicsContext *)graphicsContextWithBitmapImageRep:(NSBitmapImageRep *)bitmapRepПараметры
bitmapRepNSBitmapImageRepвозразите для использования в качестве места назначения.Возвращаемое значение
Создаваемый
NSGraphicsContextобъект илиnilесли не мог бы быть создан объект.Обсуждение
Этот метод принимает только единственную плоскость
NSBitmapImageRepэкземпляры. Это - эквивалент использованияgraphicsContextWithAttributes:и передачаbitmapRepкак значение для словаряNSGraphicsContextDestinationAttributeNameключ.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Инстанцирует и возвращает новый графический контекст из данного графического порта.
Объявление
Swift
init(graphicsPortgraphicsPort: UnsafeMutablePointer<Void>, flippedinitialFlippedState: Bool) -> NSGraphicsContextObjective C
+ (NSGraphicsContext *)graphicsContextWithGraphicsPort:(void *)graphicsPortflipped:(BOOL)initialFlippedStateПараметры
graphicsPortГрафический порт раньше создавал графический объект контекста. Обычно
graphicsPortaCGContextRef(непрозрачный тип) объект.initialFlippedStateУказывает начальную букву получателя зеркально отраженное состояние. Это - значение, возвращенное
flippedкогда не фокусируется никакое представление.Возвращаемое значение
Создаваемый
NSGraphicsContextобъект илиnilесли не мог бы быть создан объект.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
Создает и возвращает новый графический контекст для того, чтобы вовлечь окно.
Объявление
Swift
init(windowaWindow: 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() -> BoolObjective C
+ (BOOL)currentContextDrawingToScreenВозвращаемое значение
YEStrueесли текущий контекст рисует на экран, иначеNOfalse.Обсуждение
Этот удобный метод эквивалентен отправке
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Обсуждение
YEStrueесли место назначения получения является экраном. Если значение свойстваNOfalseможет означать, что место назначения получения является принтером, но место назначения может также быть файл 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к фокусирующемуся представлению получателя. Если никакое представление не фокусируется, возвратыNOfalseесли с помощью получатель не инстанцируютgraphicsContextWithGraphicsPort:flipped:указаниеYEStrueкак зеркально отраженное свойство.Оператор импорта
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: NSCompositingOperationObjective C
@property NSCompositingOperation compositingOperationОбсуждение
Составляющая композит работа является глобальным атрибутом графического контекста и влияет на операции рисования, не берущие явный параметр работы составления композита. Для методов, действительно берущих явный параметр работы составления композита, значение того параметра заменяет глобальное значение. Составляющие композит операции связаны с (но отличающиеся от) настройки режима смешивания, используемые в Кварце. Только работа составления композита значения по умолчанию (
NSCompositeCopy) поддерживается при рендеринге содержания PostScript или PDF. ПосмотритеNSCompositingOperationдля допустимых констант.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
-
imageInterpolation imageInterpolationСвойствоКонстанта, указывающая интерполяцию получателя (сглаживание изображения) поведение.
Объявление
Swift
var imageInterpolation: NSImageInterpolationObjective C
@property NSImageInterpolation imageInterpolationОбсуждение
Обратите внимание на то, что это значение не является частью состояния графики, таким образом, это не может быть сброшено с помощью
restoreGraphicsState.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
-
shouldAntialias shouldAntialiasСвойствоБулево значение, указывающее, использует ли получатель сглаживание.
Объявление
Swift
var shouldAntialias: BoolObjective C
@property BOOL shouldAntialiasОбсуждение
YEStrueесли получатель использует сглаживание. Это значение является частью состояния графики и восстанавливается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: NSColorRenderingIntentObjective 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;Константы
-
NSGraphicsContextDestinationAttributeNameNSGraphicsContextDestinationAttributeNameМожет быть экземпляр
NSWindowилиNSBitmapImageRepпри создании графического контекста.При определении типа графического контекста это значение может быть
NSMutableData,NSString, илиNSURLобъект.Доступный в OS X v10.0 и позже.
-
NSGraphicsContextRepresentationFormatAttributeNameNSGraphicsContextRepresentationFormatAttributeNameУказывает целевой формат файла.
Это значение должно получаться только и не использоваться для создания графического контекста.
Доступный в 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;Константы
-
DefaultNSImageInterpolationDefaultИспользуйте интерполяцию контекста по умолчанию.
Доступный в OS X v10.0 и позже.
-
NoneNSImageInterpolationNoneНикакая интерполяция.
Доступный в OS X v10.0 и позже.
-
LowNSImageInterpolationLowБыстро, низкокачественная интерполяция.
Доступный в OS X v10.0 и позже.
-
MediumNSImageInterpolationMediumСреднее качество, медленнее, чем
NSImageInterpolationLow.Доступный в OS X v10.6 и позже.
-
HighNSImageInterpolationHighВысшее качество, медленнее, чем
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;Константы
-
DefaultNSColorRenderingIntentDefaultИспользуйте намерение рендеринга значения по умолчанию для графического контекста.
Доступный в OS X v10.5 и позже.
-
AbsoluteColorimetricNSColorRenderingIntentAbsoluteColorimetricКарта окрашивает за пределами палитры устройства вывода к самому близкому соответствию в палитре устройства вывода.
Эта работа может произвести эффект отсечения, где два различных значения цвета в палитре графического контекста отображаются на том же значении цвета в палитре устройства вывода. В отличие от относительного колориметрического, колориметрического абсолютного не изменяет цвета в палитре устройства вывода.
Доступный в OS X v10.5 и позже.
-
RelativeColorimetricNSColorRenderingIntentRelativeColorimetricКарта окрашивает за пределами палитры устройства вывода к самому близкому соответствию в палитре устройства вывода.
Эта работа может произвести эффект отсечения, где два различных значения цвета в палитре графического контекста отображаются на том же значении цвета в палитре устройства вывода. Относительные колориметрические сдвиги все цвета (включая тех в палитре) для учета различия между белой точкой графического контекста и белой точкой устройства вывода.
Доступный в OS X v10.5 и позже.
-
PerceptualNSColorRenderingIntentPerceptualСохраните визуальное отношение между цветами путем сжатия палитры графического контекста для адаптации в палитре устройства вывода.
Перцепционное намерение хорошо для фотографий и другого комплекса, подробных изображений.
Доступный в OS X v10.5 и позже.
-
SaturationNSColorRenderingIntentSaturationСохраните относительную степень насыщения цветов при преобразовании в палитру устройства вывода.
Результатом является изображение с яркими, насыщенными цветами. Намерение насыщенности хорошо для репродуцирования изображений с низкой подробностью, таково как диаграммы представления и графики.
Доступный в OS X v10.5 и позже.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
-
