QCPlugInInputImageSource
QCPlugInInputImageSource
протокол избавляет от необходимости использовать явные типы изображения для входных портов изображения на Вашем пользовательском патче. Не только делает использование протокола, избегают ограничений определенного типа изображения, но это избегает несоответствий импеданса и обеспечивает лучшую производительность путем задержки пиксельного вычисления, пока это не необходимо. Когда необходимо получить доступ к пикселям в изображении, Вы просто преобразовываете изображение в представление (текстура или буфер) использование одного из методов, определенных QCPlugInInputImageSource
протокол. Используйте представление текстуры, когда Вы захотите использовать входные изображения на GPU. Используйте буферное представление, когда Вы захотите использовать входные изображения на CPU.
Входные изображения являются непрозрачными исходными объектами, соответствующими этому протоколу. Для создания входного порта изображения как свойства Objective-C 2.0 объявите его следующим образом:
@property(dynamic) id<QCPlugInInputImageSource> inputImage;
Создать входной порт изображения динамично. используйте тип QCPortTypeImage
:
[self addInputPortWithType:QCPortTypeImage
forKey:@”inputImage”
withAttributes:nil];
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import Quartz
Objective C
@import Quartz;
Доступность
Доступный в OS X v10.5 и позже.
-
lockTextureRepresentationWithColorSpace (_: forBounds:) - lockTextureRepresentationWithColorSpace:forBounds:
ТребуемыйСоздает представление текстуры OpenGL от подобласти источника изображения с помощью предоставленного цветового пространства. (требуемый)
Объявление
Swift
func lockTextureRepresentationWithColorSpace(_
colorSpace
: CGColorSpace!, forBoundsbounds
: NSRect) -> BoolObjective C
- (BOOL)lockTextureRepresentationWithColorSpace:(CGColorSpaceRef)
colorSpace
forBounds:(NSRect)bounds
Параметры
colorSpace
Кварцевое цветовое пространство.
bounds
Границы подобласти, выраженной в пикселях. Они должны быть выровненные к целочисленным границам.
Возвращаемое значение
YES
true
успешно;NO
false
если не может быть создана текстура.Обсуждение
Ни содержание текстуры, ни ее состояния (например, режим обертки) не должны быть изменены; можно только нарисовать с ним. Текстура допустима только в сменном контексте.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Выпускает представление текстуры OpenGL источника изображения. (требуемый)
Объявление
Swift
func unlockTextureRepresentation()
Objective C
- (void)unlockTextureRepresentation
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
lockBufferRepresentationWithPixelFormat (_: colorSpace:forBounds:) - lockBufferRepresentationWithPixelFormat:colorSpace:forBounds:
ТребуемыйСоздает представление буфера памяти от подобласти источника изображения с помощью предоставленного формата пикселя и цветового пространства. (требуемый)
Объявление
Swift
func lockBufferRepresentationWithPixelFormat(_
format
: String!, colorSpacecolorSpace
: CGColorSpace!, forBoundsbounds
: NSRect) -> BoolObjective C
- (BOOL)lockBufferRepresentationWithPixelFormat:(NSString *)
format
colorSpace:(CGColorSpaceRef)colorSpace
forBounds:(NSRect)bounds
Параметры
format
Формат пикселя, который совместим с цветовым пространством.
colorSpace
Кварцевое цветовое пространство, которое совместимо с форматом пикселя.
bounds
Границы подобласти, выраженной как пиксели и выровненной к целочисленным границам.
Возвращаемое значение
YES
true
если успешный; иначеNO
false
.Обсуждение
Содержание буфера только для чтения. Вы не должны пытаться изменить его.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
bindTextureRepresentationToCGLContext (_: textureUnit:normalizeCoordinates:) - bindTextureRepresentationToCGLContext:textureUnit:normalizeCoordinates:
ТребуемыйСвязывает текстуру с данным модулем текстуры и дополнительно масштабирует или зеркально отражает текстуру. (требуемый)
Объявление
Swift
func bindTextureRepresentationToCGLContext(_
cgl_ctx
: CGLContextObj, textureUnitunit
: GLenum, normalizeCoordinatesflag
: Bool)Objective C
- (void)bindTextureRepresentationToCGLContext:(CGLContextObj)
cgl_ctx
textureUnit:(GLenum)unit
normalizeCoordinates:(BOOL)flag
Параметры
cgl_ctx
Контекст CGL для рендеринга к.)
unit
Модуль текстуры для привязки с (такой как,
GL_TEXTURE0
)flag
Применять матрицу текстуры для масштабирования координат (от
[0, pixels]
к[0,1]
) и зеркально отразите их вертикально (если необходимый), передатьYES
true
.Обсуждение
Когда Вам больше не будет нужна текстура, вызвать
unbindTextureRepresentationFromCGLContext:textureUnit:
.Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
unbindTextureRepresentationFromCGLContext (_: textureUnit:) - unbindTextureRepresentationFromCGLContext:textureUnit:
ТребуемыйРазвязывает текстуру от модуля текстуры. (требуемый)
Объявление
Swift
func unbindTextureRepresentationFromCGLContext(_
cgl_ctx
: CGLContextObj, textureUnitunit
: GLenum)Objective C
- (void)unbindTextureRepresentationFromCGLContext:(CGLContextObj)
cgl_ctx
textureUnit:(GLenum)unit
Параметры
cgl_ctx
Контекст CGL.)
unit
Модуль текстуры для развязывания от (такой как,
GL_TEXTURE0
)Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
Выпускает представление буфера памяти источника изображения. (требуемый)
Объявление
Swift
func unlockBufferRepresentation()
Objective C
- (void)unlockBufferRepresentation
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
imageColorSpace () - imageColorSpace
ТребуемыйВозвращает цветовое пространство источника изображения. (требуемый)
Объявление
Swift
func imageColorSpace() -> Unmanaged<CGColorSpace>!
Objective C
- (CGColorSpaceRef)imageColorSpace
Возвращаемое значение
Цветовое пространство источника изображения, обычно RGB или тип Грэя.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
shouldColorMatch () - shouldColorMatch
ТребуемыйВозвраты, должен ли источник изображения быть соответствующим цветом. (требуемый)
Объявление
Swift
func shouldColorMatch() -> Bool
Objective C
- (BOOL)shouldColorMatch
Возвращаемое значение
NO
false
если источник является маской или градиентом;YES
true
иначе.Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
texturePixelsWide () - texturePixelsWide
ТребуемыйВозвращает ширину представления текстуры. (требуемый)
Возвращаемое значение
Ширина текстуры, выраженной в пикселях.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
texturePixelsHigh () - texturePixelsHigh
ТребуемыйВозвращает высоту представления текстуры. (требуемый)
Возвращаемое значение
Высота текстуры, выраженной в пикселях.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
textureTarget () - textureTarget
ТребуемыйВозвращает цель текстуры. (требуемый)
Объявление
Swift
func textureTarget() -> GLenum
Objective C
- (GLenum)textureTarget
Возвращаемое значение
Цель текстуры, также
GL_TEXTURE_2D
илиGL_TEXTURE_RECTANGLE_EXT
.Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
textureName () - textureName
ТребуемыйВозвращает имя текстуры. (требуемый)
Объявление
Swift
func textureName() -> GLuint
Objective C
- (GLuint)textureName
Возвращаемое значение
Имя текстуры.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
textureColorSpace () - textureColorSpace
ТребуемыйВозвращает цветовое пространство представления текстуры. (требуемый)
Объявление
Swift
func textureColorSpace() -> Unmanaged<CGColorSpace>!
Objective C
- (CGColorSpaceRef)textureColorSpace
Возвращаемое значение
Цветовое пространство текстуры.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
textureFlipped () - textureFlipped
ТребуемыйВозвраты, зеркально отражается ли содержание текстуры вертикально. (требуемый)
Объявление
Swift
func textureFlipped() -> Bool
Objective C
- (BOOL)textureFlipped
Возвращаемое значение
YES
true
если содержание текстуры зеркально отражается (перевернутым);NO
false
иначе.Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
textureMatrix () - textureMatrix
ТребуемыйВозвращает матрицу текстуры. (требуемый)
Объявление
Swift
func textureMatrix() -> UnsafePointer<GLfloat>
Objective C
- (const GLfloat *)textureMatrix
Возвращаемое значение
4x4 текстурируют матрицу, создаваемую путем масштабирования (от [
0
, пиксели] к [0
,1
]) и вертикально зеркальное отражение координат текстуры;NULL
если не требуется координатная трансформация.Обсуждение
Этот метод предоставлен как удобство для 2D текстур, чтобы заботиться о двух проблемах:
Координаты для прямоугольных текстур выражены в пикселях, а не нормированных единицах, используемых для текстур power-two. Координаты должны быть нормализованы, прежде чем можно будет обработать текстуру.
Координаты текстуры обычно зеркально отражаются OpenGL для обработки на GPU и должны быть зеркально отражены к исходным координатам.
Можно заботиться об этих двух проблемах просто путем загрузки матрицы, возвращенной этим методом на штабель OpenGL. Если Вы не уверены, что Вашей текстуре нужна любая из этих операций, можно загрузить матрицу на штабеле OpenGL так или иначе, поскольку это действует как единичная матрица, если это не необходимо.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
imageBounds () - imageBounds
ТребуемыйВозвращает фактические границы источника изображения, выраженного в пикселях и выровненного к целочисленным границам. (требуемый)
Возвращаемое значение
Границы источника изображения.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
bufferPixelsWide () - bufferPixelsWide
ТребуемыйВозвращает ширину буферного представления изображения. (требуемый)
Возвращаемое значение
Ширина, выраженная в пикселях.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
bufferPixelsHigh () - bufferPixelsHigh
ТребуемыйВозвращает высоту буферного представления изображения. (требуемый)
Возвращаемое значение
Высота, выраженная в пикселях.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
bufferPixelFormat () - bufferPixelFormat
ТребуемыйВозвращает формат пикселя буферного представления изображения. (требуемый)
Возвращаемое значение
Строка, указывающая формат пикселя. Поддерживаемые форматы являются ARGB8 (8-разрядная альфа, красная, зеленая, синяя), BGRA8 (8-разрядный синий, зеленый, красный цвет, и альфа), RGBAf (с плавающей точкой, красный, зеленый, синий, альфа), I8 (8-разрядная интенсивность), и Если (интенсивность с плавающей точкой).
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
bufferColorSpace () - bufferColorSpace
ТребуемыйВозвращает цветовое пространство буферного представления изображения. (требуемый)
Объявление
Swift
func bufferColorSpace() -> Unmanaged<CGColorSpace>!
Objective C
- (CGColorSpaceRef)bufferColorSpace
Возвращаемое значение
Цветовое пространство буфера изображения.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
bufferBaseAddress () - bufferBaseAddress
ТребуемыйВозвращает базовый адрес буфера изображения. (требуемый)
Объявление
Swift
func bufferBaseAddress() -> UnsafePointer<Void>
Objective C
- (const void *)bufferBaseAddress
Возвращаемое значение
Базовый адрес буфера.
Обсуждение
Базовый адрес, как гарантируют, будет выровненный на 16-байтовой границе.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.
-
bufferBytesPerRow () - bufferBytesPerRow
ТребуемыйВозвращает байты на строку буферного представления. (требуемый)
Возвращаемое значение
Число байтов на строку буфера.
Обсуждение
Число байтов на строку, как гарантируют, будет кратным числом 16.
Оператор импорта
Objective C
@import Quartz;
Swift
import Quartz
Доступность
Доступный в OS X v10.5 и позже.