Ссылка CGBitmapContext
CGBitmapContext.h заголовочный файл определяет функции, создающие и воздействующие на Кварцевый контекст растрового изображения. Контекст растрового изображения является типом CGContextRef то, что можно использовать для рисования битов к памяти. Функции в этой ссылке воздействуют только на Кварцевые контексты растрового изображения, создаваемые с помощью функции CGBitmapContextCreate.
Число компонентов для каждого пикселя в контексте растрового изображения указано цветовым пространством (определенный a CGColorSpaceRef, который включает RGB, шкалу полутонов и CMYK, и который также может указать целевой цветовой профиль). Контекст растрового изображения указывает, должен ли битовый массив содержать альфа-канал, и как сгенерирован битовый массив.
-
Создает контекст растрового изображения.
Объявление
Swift
func CGBitmapContextCreate(_data: UnsafeMutablePointer<Void>, _width: UInt, _height: UInt, _bitsPerComponent: UInt, _bytesPerRow: UInt, _colorspace: CGColorSpace!, _bitmapInfo: CGBitmapInfo) -> CGContext!Objective C
CGContextRef CGBitmapContextCreate ( void *data, size_t width, size_t height, size_t bitsPerComponent, size_t bytesPerRow, CGColorSpaceRef space, CGBitmapInfo bitmapInfo );Параметры
dataУказатель на место назначения в памяти, где должно быть представлено получение. Размер этого блока памяти должен быть, по крайней мере,
(bytesPerRow*height)байты.В iOS 4.0 и позже, и OS X v10.6 и позже, можно передать
NULLесли Вы хотите, чтобы Кварц выделил память для битового массива. Это освобождает Вас от управления Вашей собственной памятью, сокращающей проблемы утечки памяти.widthШирина, в пикселях, требуемого битового массива.
heightВысота, в пикселях, требуемого битового массива.
bitsPerComponentЧисло битов для использования для каждого компонента пикселя в памяти. Например, для 32-разрядного формата пикселя и цветового пространства RGB, Вы указали бы значение 8 битов за компонент. Для списка поддерживаемых форматов пикселя см. “Поддерживаемые Форматы пикселя” в Графической главе Контекстов Кварца 2D Руководство по программированию.
bytesPerRowЧисло байтов памяти для использования на строку битового массива. Если
dataпараметрNULL, передача значения0заставляет значение быть вычисленным автоматически.colorspaceЦветовое пространство для использования для растрового контекста. Обратите внимание на то, что пробелы индексированного цвета не поддерживаются для контекстов растрового изображения.
bitmapInfoКонстанты, указывающие, должен ли битовый массив содержать альфа-канал, относительное расположение альфа-канала в пикселе и информацию о том, являются ли пиксельные компоненты или целочисленными значениями с плавающей точкой. Константы для указания информации об альфа-канале объявляются с
CGImageAlphaInfoвведите, но может быть передан этому параметру безопасно. Можно также передать другие константы, связанные сCGBitmapInfoввести. (См. Ссылку CGImage для описанияCGBitmapInfoиCGImageAlphaInfoконстанты.)Для примера того, как указать цветовое пространство, биты на пиксель, компонент бит на пиксель и растровую информацию с помощью
CGBitmapContextCreateфункционируйте, см. “Создание Контекста Растрового изображения” в Графической главе Контекстов Кварца 2D Руководство по программированию.Возвращаемое значение
Новый растровый контекст, или
NULLесли не мог бы быть создан контекст. Вы ответственны за выпуск этого объектного использованияCGContextRelease.Обсуждение
Когда Вы вызываете эту функцию, Кварц создает растровую среду рисования — т.е. растровый контекст — к Вашим спецификациям. Когда Вы вовлекаете этот контекст, Кварц представляет Ваше получение как побитово отображенные данные в указанном блоке памяти.
Формат пикселя для нового растрового контекста определяется тремя параметрами — число битов на компонент, цветовое пространство и альфа-опцию (выраженный как a
Image Bitmap Informationпостоянный). Альфа-значение определяет непрозрачность пикселя, когда это нарисовано.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.0 и позже.
-
Создает контекст растрового изображения с указанной функцией обратного вызова.
Объявление
Swift
func CGBitmapContextCreateWithData(_data: UnsafeMutablePointer<Void>, _width: UInt, _height: UInt, _bitsPerComponent: UInt, _bytesPerRow: UInt, _colorspace: CGColorSpace!, _bitmapInfo: CGBitmapInfo, _releaseCallback: CGBitmapContextReleaseDataCallback, _releaseInfo: UnsafeMutablePointer<Void>) -> CGContext!Objective C
CGContextRef CGBitmapContextCreateWithData ( void *data, size_t width, size_t height, size_t bitsPerComponent, size_t bytesPerRow, CGColorSpaceRef space, CGBitmapInfo bitmapInfo, CGBitmapContextReleaseDataCallback releaseCallback, void *releaseInfo );Параметры
dataУказатель на место назначения в памяти, где должно быть представлено получение. Размер этого блока памяти должен быть, по крайней мере,
(bytesPerRow*height)байты.В iOS 4.0 и позже, и OS X v10.6 и позже, можно передать
NULLесли Вы не заботитесь, где хранятся данные. Это освобождает Вас от управления Вашей собственной памятью, сокращающей проблемы утечки памяти. Кварц имеет больше гибкости, когда это управляет хранением данных для Вас. Например, для Кварца возможно использовать OpenGL для рендеринга, если это заботится о памяти. Не передаватьNULLесли Вы работаете на более ранних операционных системах.widthШирина, в пикселях, требуемого битового массива.
heightВысота, в пикселях, требуемого битового массива.
bitsPerComponentЧисло битов для использования для каждого компонента пикселя в памяти. Например, для 32-разрядного формата пикселя и цветового пространства RGB, Вы указали бы значение 8 битов за компонент. Для списка поддерживаемых форматов пикселя см. “Поддерживаемые Форматы пикселя” в Графической главе Контекстов Кварца 2D Руководство по программированию.
bytesPerRowЧисло байтов памяти для использования на строку битового массива. Если
dataпараметрNULL, передача значения0заставляет значение быть вычисленным автоматически.colorspaceЦветовое пространство для использования для растрового контекста. Обратите внимание на то, что пробелы индексированного цвета не поддерживаются для контекстов растрового изображения.
bitmapInfoКонстанты, указывающие, должен ли битовый массив содержать альфа-канал, относительное расположение альфа-канала в пикселе и информацию о том, являются ли пиксельные компоненты или целочисленными значениями с плавающей точкой. Константы для указания информации об альфа-канале объявляются с
CGImageAlphaInfoвведите, но может быть передан этому параметру безопасно. Можно также передать другие константы, связанные сCGBitmapInfoввести. (См. Ссылку CGImage для описанияCGBitmapInfoиCGImageAlphaInfoконстанты.)Для примера того, как указать цветовое пространство, биты на пиксель, компонент бит на пиксель и растровую информацию с помощью
CGBitmapContextCreateфункционируйте, см. “Создание Контекста Растрового изображения” в Графической главе Контекстов Кварца 2D Руководство по программированию.releaseCallbackПользовательский выпуск функционирует для вызова, когда пора выпустить растровые данные. Для синтаксиса этой функции см. описание
CGBitmapContextReleaseDataCallbackтип данных. Можно указатьNULLдля этого параметра.releaseInfoУказатель на любые данные, которые Вы хотите, передал Вашему пользовательскому обратному вызову выпуска.
Возвращаемое значение
Новый растровый контекст, или
NULLесли не мог бы быть создан контекст. Вы ответственны за выпуск этого объектного использованияCGContextRelease.Обсуждение
Когда Вы вызываете эту функцию, Кварц создает растровую среду рисования — т.е. растровый контекст — к Вашим спецификациям. Когда Вы вовлекаете этот контекст, Кварц представляет Ваше получение как побитово отображенные данные в указанном блоке памяти.
Формат пикселя для нового растрового контекста определяется тремя параметрами — число битов на компонент, цветовое пространство и альфа-опцию (выраженный как a
Image Bitmap Informationпостоянный). Альфа-значение определяет непрозрачность пикселя, когда это нарисовано.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.6 и позже.
-
Создает и возвращает Кварцевое изображение из пиксельных данных в контексте растрового изображения.
Объявление
Swift
func CGBitmapContextCreateImage(_c: CGContext!) -> CGImage!Objective C
CGImageRef CGBitmapContextCreateImage ( CGContextRef context );Параметры
cКонтекст растрового изображения.
Возвращаемое значение
Объект CGImage, содержащий снимок контекста растрового изображения или
NULLесли не создается изображение.Обсуждение
Объект CGImage, возвращенный этой функцией, создается работой копии. Последующие изменения к контексту растрового изображения не влияют на содержание возвращенного изображения. В некоторых случаях работа копии фактически следует за семантикой копии на записи, так, чтобы фактическая физическая копия битов произошла, только если изменяются базовые данные в контексте растрового изображения. Как следствие можно хотеть использовать получающееся изображение и выпустить его перед выполнением дополнительного вовлечения контекста растрового изображения. Таким образом можно избежать фактической физической копии данных.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.4 и позже.
Эти функции возвращаются, значения атрибутов указали, когда создается растровый контекст.
-
Получает растровую информацию, связанную с контекстом растрового изображения.
Объявление
Swift
func CGBitmapContextGetBitmapInfo(_c: CGContext!) -> CGBitmapInfoObjective C
CGBitmapInfo CGBitmapContextGetBitmapInfo ( CGContextRef context );Параметры
cКонтекст растрового изображения.
Возвращаемое значение
Растровая информация контекста растрового изображения или
0еслиcне контекст растрового изображения. См. Ссылку CGImage для описанияImage Bitmap Informationконстанты, которые могут быть возвращены.Обсуждение
CGBitmapInfoданные, возвращенные функцией, указывают, содержит ли битовый массив альфа-канал и как альфа-канал сгенерирован, вместе с тем, являются ли компоненты с плавающей точкой или целочисленными.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.4 и позже.
-
Возвращает информацию об альфе, связанную с контекстом, указывающим, как растровый контекст обрабатывает альфа-компонент.
Объявление
Swift
func CGBitmapContextGetAlphaInfo(_context: CGContext!) -> CGImageAlphaInfoObjective C
CGImageAlphaInfo CGBitmapContextGetAlphaInfo ( CGContextRef context );Параметры
contextРастровый контекст.
Возвращаемое значение
Постоянная растровая информация. Если указанный контекст не является растровым контекстом,
kCGImageAlphaNoneвозвращается. ПосмотритеCGImageAlphaInfo(переименованный кCGBitmapInfoв OS X v10.4) для получения дополнительной информации о значениях.Обсуждение
Каждый растровый контекст содержит атрибут, указывающий, содержит ли битовый массив альфа-компонент, и как это сгенерировано. Альфа-компонент определяет непрозрачность пикселя, когда это нарисовано.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает биты на компонент растрового контекста.
Объявление
Swift
func CGBitmapContextGetBitsPerComponent(_context: CGContext!) -> UIntObjective C
size_t CGBitmapContextGetBitsPerComponent ( CGContextRef context );Параметры
contextРастровый контекст для исследования.
Возвращаемое значение
Число битов на компонент в указанном контексте, или
0если контекст не является растровым контекстом.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает биты на пиксель растрового контекста.
Объявление
Swift
func CGBitmapContextGetBitsPerPixel(_context: CGContext!) -> UIntObjective C
size_t CGBitmapContextGetBitsPerPixel ( CGContextRef context );Параметры
contextРастровый контекст для исследования.
Возвращаемое значение
Число бит на пиксель в указанном контексте, или
0если контекст не является растровым контекстом.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает байты на строку растрового контекста.
Объявление
Swift
func CGBitmapContextGetBytesPerRow(_context: CGContext!) -> UIntObjective C
size_t CGBitmapContextGetBytesPerRow ( CGContextRef context );Параметры
contextРастровый контекст для исследования.
Возвращаемое значение
Число байтов на строку указанного контекста, или
0если контекст не является растровым контекстом.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает цветовое пространство растрового контекста.
Объявление
Swift
func CGBitmapContextGetColorSpace(_context: CGContext!) -> CGColorSpace!Objective C
CGColorSpaceRef CGBitmapContextGetColorSpace ( CGContextRef context );Параметры
contextРастровый контекст для исследования.
Возвращаемое значение
Цветовое пространство указанного контекста, или
NULLесли контекст не является растровым контекстом. Вы ответственны за сохранение и выпуск этого объекта по мере необходимости.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает указатель на данные изображения, связанные с растровым контекстом.
Объявление
Swift
func CGBitmapContextGetData(_context: CGContext!) -> UnsafeMutablePointer<Void>Objective C
void * CGBitmapContextGetData ( CGContextRef context );Параметры
contextРастровый контекст для исследования.
Возвращаемое значение
Указатель на данные изображения указанного растрового контекста, или
NULLесли контекст не является растровым контекстом.Обсуждение
При обеспечении памяти для растровых данных можно использовать этот метод для получения того указателя данных. Если Вы передали
NULLдля указателя данных при создании растрового контекста безопасно получить указатель данных в iOS 4.0 и позже и OS X v10.6 и позже только. В более ранних версиях операционной системы, передаваяNULLдля данных параметр не поддерживается и может привести к катастрофическим отказам при попытке получить доступ к этим данным с помощью этой функции.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает высоту в пикселях растрового контекста.
Объявление
Swift
func CGBitmapContextGetHeight(_context: CGContext!) -> UIntObjective C
size_t CGBitmapContextGetHeight ( CGContextRef context );Параметры
contextРастровый контекст для исследования.
Возвращаемое значение
Высота в пикселях указанного контекста, или
0если контекст не является растровым контекстом.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает ширину в пикселях растрового контекста.
Объявление
Swift
func CGBitmapContextGetWidth(_context: CGContext!) -> UIntObjective C
size_t CGBitmapContextGetWidth ( CGContextRef context );Параметры
contextРастровый контекст для исследования.
Возвращаемое значение
Ширина в пикселях указанного контекста, или
0если контекст не является растровым контекстом.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Функция обратного вызова раньше выпускала партнера данных растрового контекста.
Объявление
Swift
typealias CGBitmapContextReleaseDataCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, UnsafeMutablePointer<Void>) -> Void)>Objective C
typedef void (*CGBitmapContextReleaseDataCallback)(void *releaseInfo, void *data);Обсуждение
releaseInfoпараметр содержит контекстные данные, которые Вы передалиCGBitmapContextCreateWithDataфункция.dataпараметр содержит указатель на растровые данные для Вас для выпуска.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.6 и позже.
