Ссылка Преобразования vImage
Функции преобразования изменяют изображение от одного формата изображения в другого. Эти функции работают с форматами, поддерживаемыми vImage (Planar8, PlanarF, ARGB8888, ARGBFFFF, RGBA8888 и RGBAFFFF), но они могут также измениться между поддерживаемым форматом на один, это не поддерживается vImage (таким как RGB565). Функции преобразования могут также заполнить буферы цветом, каналами перезаписи, переставить каналы, сгладить данные и отсечь данные.
Функции преобразования используют буферную структуру vImage (vImage_Buffer
— см. vImage Ссылку Типов данных и Констант) получить и предоставить данные изображения. Этот буфер содержит указатель на данные изображения, высоту и ширину (в пикселях) данных изображения и числа байтов строки. Вы фактически передаете указатель на буферную структуру vImage. Для некоторых функций можно обеспечить указатель на ту же буферную структуру vImage для исходных изображений и конечного изображения, потому что функция “работает на месте”. Т.е. исходные и конечные изображения могут занять ту же память, если они являются строго выровненным пикселем для пикселя.
-
Заполняет буфер ARGB8888 указанным цветом.
Объявление
Swift
func vImageBufferFill_ARGB8888(_
dest
: UnsafePointer<vImage_Buffer>, _color
: UnsafePointer<UInt8>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageBufferFill_ARGB8888 ( const vImage_Buffer *dest, const Pixel_8888 color, vImage_Flags flags );
Параметры
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения, создаваемые с цветом заливки. Когда Вам больше не нужен буфер данных, необходимо освободить память.color
Цвет для заполнения буфера.
flags
Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Заполняет буфер ARGBFFFF указанным цветом.
Объявление
Swift
func vImageBufferFill_ARGBFFFF(_
dest
: UnsafePointer<vImage_Buffer>, _color
: UnsafePointer<Float>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageBufferFill_ARGBFFFF ( const vImage_Buffer *dest, const Pixel_FFFF color, vImage_Flags flags );
Параметры
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения, создаваемые с цветом заливки. Когда Вам больше не нужен буфер данных, необходимо освободить память.color
Цвет для заполнения буфера.
flags
Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Переупорядочивает каналы в изображении ARGB8888.
Объявление
Swift
func vImagePermuteChannels_ARGB8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _permuteMap
: UnsafePointer<UInt8>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePermuteChannels_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, const uint8_t permuteMap[4], vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите переставить.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.permuteMap
Массив четырех 8-разрядных целых чисел со значениями 0, 1, 2, и 3, в некотором порядке. Каждое значение указывает плоскость из исходного изображения, которое должно быть скопировано в ту плоскость в конечном изображении. 0 обозначает альфа-канал, 1 красный канал, 2 зеленый канал, и 3 синий канал. Следующие данные показывают, что результат использования переставлять карты показывает, что значения (0, 3, 2, 1). Данные в альфе и зеленых каналах остаются тем же, но данные в источнике, который красный канал отображает на целевой синий канал, в то время как данные в источнике синий канал отображается на целевой красный канал.
flags
Опции использовать при выполнении работы перестановки. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Переупорядочивает каналы в изображении ARGBFFFF.
Объявление
Swift
func vImagePermuteChannels_ARGBFFFF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _permuteMap
: UnsafePointer<UInt8>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePermuteChannels_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, const uint8_t permuteMap[4], vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите переставить.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.permuteMap
Массив четырех 8-разрядных целых чисел со значениями 0, 1, 2, и 3, в некотором порядке. Каждое значение указывает плоскость из исходного изображения, которое должно быть скопировано в ту плоскость в конечном изображении. 0 обозначает альфа-канал, 1 красный канал, 2 зеленый канал, и 3 синий канал. Рисунок 1 показывает, что результат использования переставлять карты показывает, что значения (0, 3, 2, 1). Данные в альфе и зеленых каналах остаются тем же, но данные в источнике, который красный канал отображает на целевой синий канал, в то время как данные в источнике синий канал отображается на целевой красный канал.
flags
Опции использовать при выполнении работы перестановки. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Перезаписывает указанные каналы в буфере изображения ARGB8888 с предоставленными каналами от буфера изображения ARGB8888.
Объявление
Swift
func vImageSelectChannels_ARGB8888(_
newSrc
: UnsafePointer<vImage_Buffer>, _origSrc
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _copyMask
: UInt8, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageSelectChannels_ARGB8888 ( const vImage_Buffer *newSrc, const vImage_Buffer *origSrc, const vImage_Buffer *dest, uint8_t copyMask, vImage_Flags flags );
Параметры
newSrc
Указатель на vImage буферизует структуру, содержащую данные, в формате ARGB8888, для перезаписи
origSrc
данные изображения.origSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите перезаписать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сorigSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.copyMask
Выходное значение, выбирающее плоскость (или плоскости) от исходного буфера ARGB8888, который Вы хотите замененный соответствующей плоскостью от
newSrc
буфер изображения. Значение0x8
выбирает альфа-канал,0x4
красный канал,0x2
зеленый канал, и0x1
синий канал. Можно добавить эти значения вместе для выбора многократных каналов.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Перезаписывает указанные каналы в буфере изображения ARGBFFFF с предоставленными каналами в буфере изображения ARGBFFFF.
Объявление
Swift
func vImageSelectChannels_ARGBFFFF(_
newSrc
: UnsafePointer<vImage_Buffer>, _origSrc
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _copyMask
: UInt8, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageSelectChannels_ARGBFFFF ( const vImage_Buffer *newSrc, const vImage_Buffer *origSrc, const vImage_Buffer *dest, uint8_t copyMask, vImage_Flags flags );
Параметры
newSrc
Указатель на vImage буферизует структуру, содержащую данные, в формате ARGBFFFF, для перезаписи
origSrc
данные изображения.origSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите перезаписать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сorigSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.copyMask
Выходное значение, выбирающее плоскость (или плоскости) от исходного буфера ARGBFFFF, который Вы хотите замененный соответствующей плоскостью от
newSrc
буфер изображения. Значение0x8
выбирает альфа-канал,0x4
красный канал,0x2
зеленый канал, и0x1
синий канал. Можно добавить эти значения вместе для выбора многократных каналов.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.5 и позже.
-
Перезаписи одна или более плоскостей ARGB8888 отображают буфер с предоставленным планарным буфером.
Объявление
Swift
func vImageOverwriteChannels_ARGB8888(_
newSrc
: UnsafePointer<vImage_Buffer>, _origSrc
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _copyMask
: UInt8, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageOverwriteChannels_ARGB8888 ( const vImage_Buffer *newSrc, const vImage_Buffer *origSrc, const vImage_Buffer *dest, uint8_t copyMask, vImage_Flags flags );
Параметры
newSrc
Указатель на vImage буферизует структуру, содержащую данные, в формате Planar8, для перезаписи
origSrc
данные изображения.origSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите перезаписать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сorigSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.copyMask
Выходное значение, выбирающее плоскость (или плоскости) от исходного буфера ARGB8888, который Вы хотите замененный данными от исходного буфера Planar8. Значение
0x8
выбирает альфа-канал,0x4
красный канал,0x2
зеленый канал, и0x1
синий канал. Можно добавить эти значения вместе для выбора многократных каналов.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Функция перезаписывает пиксельные значения в
origSrc
отобразите буфер с помощью соответствующего пиксельного значения отnewSrc
буфер изображения.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Перезаписи одна или более плоскостей ARGBFFFF отображают буфер с предоставленным планарным буфером.
Объявление
Swift
func vImageOverwriteChannels_ARGBFFFF(_
newSrc
: UnsafePointer<vImage_Buffer>, _origSrc
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _copyMask
: UInt8, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageOverwriteChannels_ARGBFFFF ( const vImage_Buffer *newSrc, const vImage_Buffer *origSrc, const vImage_Buffer *dest, uint8_t copyMask, vImage_Flags flags );
Параметры
newSrc
Указатель на vImage буферизует структуру, содержащую данные, в формате PlanarF, для перезаписи
origSrc
данные изображения.origSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите перезаписать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сorigSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.copyMask
Выходное значение, выбирающее плоскость (или плоскости) от исходного буфера ARGBFFFF, который Вы хотите замененный данными от исходного буфера Planar8. Значение
0x8
выбирает альфа-канал,0x4
красный канал,0x2
зеленый канал, и0x1
синий канал. Можно добавить эти значения вместе для выбора многократных каналов.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Функция перезаписывает пиксельные значения в
origSrc
отобразите буфер с помощью соответствующего пиксельного значения отnewSrc
буфер изображения.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImageOverwriteChannelsWithScalar_ARGB8888 (_: _: _: _: _:) vImageOverwriteChannelsWithScalar_ARGB8888
Перезаписывает пиксели одной или более плоскостей буфера изображения ARGB8888 с предоставленным скалярным значением.
Объявление
Swift
func vImageOverwriteChannelsWithScalar_ARGB8888(_
scalar
: Pixel_8, _src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _copyMask
: UInt8, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageOverwriteChannelsWithScalar_ARGB8888 ( Pixel_8 scalar, const vImage_Buffer *src, const vImage_Buffer *dest, uint8_t copyMask, vImage_Flags flags );
Параметры
scalar
8-разрядное пиксельное значение.
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите перезаписать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сorigSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.copyMask
Выходное значение, выбирающее плоскость (или плоскости) от исходного буфера ARGB8888, который Вы хотите замененный скалярным значением. Значение
0x8
выбирает альфа-канал,0x4
красный канал,0x2
зеленый канал, и0x1
синий канал. Можно добавить эти значения вместе для выбора многократных каналов.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImageOverwriteChannelsWithScalar_ARGBFFFF (_: _: _: _: _:) vImageOverwriteChannelsWithScalar_ARGBFFFF
Перезаписывает пиксели одной или более плоскостей буфера изображения ARGBFFFF с предоставленным скалярным значением.
Объявление
Swift
func vImageOverwriteChannelsWithScalar_ARGBFFFF(_
scalar
: Pixel_F, _src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _copyMask
: UInt8, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageOverwriteChannelsWithScalar_ARGBFFFF ( Pixel_F scalar, const vImage_Buffer *src, const vImage_Buffer *dest, uint8_t copyMask, vImage_Flags flags );
Параметры
scalar
Пиксельное значение с плавающей точкой.
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите перезаписать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сorigSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.copyMask
Выходное значение, выбирающее плоскость (или плоскости) от исходного буфера ARGBFFFF, который Вы хотите замененный скалярным значением. Значение
0x8
выбирает альфа-канал,0x4
красный канал,0x2
зеленый канал, и0x1
синий канал. Можно добавить эти значения вместе для выбора многократных каналов.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Перезаписывает буфер изображения Planar8 с предоставленным значением.
Объявление
Swift
func vImageOverwriteChannelsWithScalar_Planar8(_
scalar
: Pixel_8, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageOverwriteChannelsWithScalar_Planar8 ( Pixel_8 scalar, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
scalar
8-разрядное пиксельное значение.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит целевые данные. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Установите
kvImageDoNotTile
поле в параметре флагов, чтобы препятствовать тому, чтобы vImage использовал мозаичное размещение внутренне. (Это является надлежащим при выполнении мозаичного размещения себя.)Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Перезаписывает буфер изображения PlanarF с предоставленным значением.
Объявление
Swift
func vImageOverwriteChannelsWithScalar_PlanarF(_
scalar
: Pixel_F, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageOverwriteChannelsWithScalar_PlanarF ( Pixel_F scalar, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
scalar
Пиксельное значение с плавающей точкой.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImageOverwriteChannelsWithPixel_ARGB8888 (_: _: _: _: _:) vImageOverwriteChannelsWithPixel_ARGB8888
Перезаписывает буфер изображения ARGB8888 с предоставленным пиксельным значением.
Объявление
Swift
func vImageOverwriteChannelsWithPixel_ARGB8888(_
the_pixel
: UnsafePointer<UInt8>, _src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _copyMask
: UInt8, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageOverwriteChannelsWithPixel_ARGB8888 ( const Pixel_8888 the_pixel, const vImage_Buffer *src, const vImage_Buffer *dest, uint8_t copyMask, vImage_Flags flags );
Параметры
the_pixel
Пиксельное значение ARGB.
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите перезаписать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сorigSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.copyMask
Выходное значение, выбирающее плоскость (или плоскости) от исходного буфера ARGB8888, который Вы хотите замененный пиксельным значением. Значение
0x8
выбирает альфа-канал,0x4
красный канал,0x2
зеленый канал, и0x1
синий канал. Можно добавить эти значения вместе для выбора многократных каналов.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.5 и позже.
-
vImageOverwriteChannelsWithPixel_ARGBFFFF (_: _: _: _: _:) vImageOverwriteChannelsWithPixel_ARGBFFFF
Перезаписывает буфер изображения ARGBFFFF с предоставленным пиксельным значением.
Объявление
Swift
func vImageOverwriteChannelsWithPixel_ARGBFFFF(_
the_pixel
: UnsafePointer<Float>, _src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _copyMask
: UInt8, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageOverwriteChannelsWithPixel_ARGBFFFF ( const Pixel_FFFF the_pixel, const vImage_Buffer *src, const vImage_Buffer *dest, uint8_t copyMask, vImage_Flags flags );
Параметры
the_pixel
Пиксельное значение ARGB.
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите перезаписать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сorigSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.copyMask
Выходное значение, выбирающее плоскость (или плоскости) от исходного буфера ARGBFFFF, который Вы хотите замененный пиксельным значением. Значение
0x8
выбирает альфа-канал,0x4
красный канал,0x2
зеленый канал, и0x1
синий канал. Можно добавить эти значения вместе для выбора многократных каналов.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.5 и позже.
-
Преобразовывает изображение в специальном планарном формате — в котором каждое пиксельное значение является 16-разрядным целым числом со знаком — к формату PlanarF.
Объявление
Swift
func vImageConvert_16SToF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _offset
: Float, _scale
: Float, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_16SToF ( const vImage_Buffer *src, const vImage_Buffer *dest, float offset, float scale, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение (для которого каждое пиксельное значение является 16-разрядным целым числом со знаком), чьи данные Вы хотите перезаписать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения в формате PlanarF. Когда Вам больше не нужен буфер данных, необходимо освободить память.offset
Значение смещения для добавления к каждому пикселю.
scale
Значение для умножения каждого пикселя на.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Функция изменяет каждое пиксельное значение на значение с плавающей точкой, масштабирует каждое значение и затем добавляет значение смещения. Вычисление
resultPixel = (float) sourcePixel * scale + offset
Функции
vImageConvert_16SToF
иvImageConvert_FTo16S
обратные преобразования, когда Вы используете то же смещение и значения масштаба для каждого. (Инверсия не точна вследствие ошибки округления.) Это требует, чтобы две функции использовали эти значения по-другому (и в различном порядке).Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Преобразовывает изображение в специальном планарном формате — в котором каждое пиксельное значение является 16-разрядным целым без знака — к формату PlanarF.
Объявление
Swift
func vImageConvert_16UToF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _offset
: Float, _scale
: Float, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_16UToF ( const vImage_Buffer *src, const vImage_Buffer *dest, float offset, float scale, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение (для которого каждое пиксельное значение является 16-разрядным целым без знака), чьи данные Вы хотите перезаписать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения в формате PlanarF. Когда Вам больше не нужен буфер данных, необходимо освободить память.offset
Значение смещения для добавления к каждому пикселю.
scale
Значение для умножения каждого пикселя на.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Каждое пиксельное значение изменяется на значение с плавающей точкой, затем масштабировало и смещало предоставленными значениями. Вычисление:
float result = (float) srcPixel * scale + offset
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Преобразовывает изображение в специальном планарном формате — в котором каждое пиксельное значение является 16-разрядным целым без знака — к изображению Planar8.
Объявление
Swift
func vImageConvert_16UToPlanar8(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_16UToPlanar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Преобразование от 16-разрядного до 8-разрядных значений:
uint8_t result = (srcPixel * 255 + 32767) / 65535
Можно также использовать эту функцию для преобразования с 4 каналами, чередованного 16U изображение к ARGB8888. изображение. Просто умножьте ширину целевого буфера на четыре.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение ARGB8888 путем замены пиксельными значениями с пиксельными значениями, предоставленными четырьмя таблицами поиска.
Объявление
Swift
func vImageTableLookUp_ARGB8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _alphaTable
: UnsafePointer<Pixel_8>, _redTable
: UnsafePointer<Pixel_8>, _greenTable
: UnsafePointer<Pixel_8>, _blueTable
: UnsafePointer<Pixel_8>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageTableLookUp_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, const Pixel_8 alphaTable[256], const Pixel_8 redTable[256], const Pixel_8 greenTable[256], const Pixel_8 blueTable[256], vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.alphaTable
Таблица поиска для использования для альфа-канала исходного изображения. Если Вы передаете
NULL
для этой таблицы функция копирует альфа-канал, неизменный в целевой буфер.redTable
Таблица поиска для использования для красного канала исходного изображения. Если Вы передаете
NULL
для этой таблицы функция копирует красный канал, неизменный в целевой буфер.greenTable
Таблица поиска для использования для зеленого канала исходного изображения. Если Вы передаете
NULL
для этой таблицы функция копирует зеленый канал, неизменный в целевой буфер.blueTable
Таблица поиска для использования для синего канала исходного изображения. Если Вы передаете
NULL
для этой таблицы функция копирует синий канал, неизменный в целевой буфер.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Функция разделяет каждый пиксель на четыре канала — альфа, красная, зеленая, и синяя. Это заменяет каждым каналом отдельно, с помощью надлежащей таблицы. Тогда функция повторно комбинирует каждый пиксель в единственное значение ARGB8888, помещая преобразованное изображение в целевой буфер.
Источник и места назначения буферизуют, должен иметь ту же высоту и ту же ширину.
Вы не можете использовать эту функцию для выполнения произвольного цветного отображения. Например, если два цвета другого источника имеют тот же зеленый компонент, необходимо отобразить их на два целевых цвета, зеленые компоненты которых равны. Вы не можете отобразить их на два произвольных цвета.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Преобразовывает изображение Planar8 путем замены пиксельными значениями с пиксельными значениями, предоставленными четырьмя таблицами поиска.
Объявление
Swift
func vImageTableLookUp_Planar8(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _table
: UnsafePointer<Pixel_8>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageTableLookUp_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, const Pixel_8 table[256], vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.table
Таблица поиска для использования.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция преобразовывает изображение Planar8 путем замены всех пикселей данного значения интенсивности с пикселями нового значения интенсивности. Это отображает старые значения на новые значения с помощью предоставленной таблицы поиска с 256 элементами (LUT).
Источник и места назначения буферизуют, должен иметь ту же высоту и ту же ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Преобразовывает изображение ARGB8888 к изображению RGB888 против непрозрачного фона предоставленного цвета.
Объявление
Swift
func vImageFlatten_ARGB8888ToRGB888(_
argb8888Src
: UnsafePointer<vImage_Buffer>, _rgb888dest
: UnsafePointer<vImage_Buffer>, _backgroundColor
: UnsafePointer<UInt8>, _isImagePremultiplied
: Bool, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageFlatten_ARGB8888ToRGB888 ( const vImage_Buffer *, const vImage_Buffer *, const Pixel_8888, bool, vImage_Flags );
Параметры
argb8888Src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите сгладить.
rgb888dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сargb8888Src
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Целевой буфер может совпасть с исходным буфером.backgroundColor
8-разрядное чередованное пиксельное значение.
isImagePremultiplied
TRUE
если исходное изображение использует предварительно умноженные данные,FALSE
иначе.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если использование исходного изображения предварительно умножило данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
new value = (i * 255 + (255 - alpha) * backgroundColor + 127) / 255
Если исходное изображение не использует предварительно умноженные данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
new value = (i * alpha + (255 - alpha) * backgroundColor + 127) / 255
Источник и места назначения буферизуют, должен иметь ту же высоту и ту же ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение ARGBFFFF к изображению RGBFFF против непрозрачного фона предоставленного цвета.
Объявление
Swift
func vImageFlatten_ARGBFFFFToRGBFFF(_
argbFFFFSrc
: UnsafePointer<vImage_Buffer>, _rgbFFFdest
: UnsafePointer<vImage_Buffer>, _backgroundColor
: UnsafePointer<Float>, _isImagePremultiplied
: Bool, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageFlatten_ARGBFFFFToRGBFFF ( const vImage_Buffer *, const vImage_Buffer *, const Pixel_FFFF, bool, vImage_Flags );
Параметры
argbFFFFSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите сгладить.
rgbFFFdest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сargbFFFFSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Целевой буфер может совпасть с исходным буфером.backgroundColor
Чередованное пиксельное значение с плавающей точкой.
isImagePremultiplied
Истина, если исходное изображение предварительно умножается, ложь иначе.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Обсуждение
Если использование исходного изображения предварительно умножило данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
newcolor = i + (1.0f - alpha) * backgroundColor
Если исходное изображение не использует предварительно умноженные данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
newcolor = i * alpha + (1.0f - alpha) * backgroundColor
Источник и места назначения буферизуют, должен иметь ту же высоту и ту же ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение BGRA8888 к изображению RGB888 против непрозрачного фона предоставленного цвета.
Объявление
Swift
func vImageFlatten_BGRA8888ToRGB888(_
bgra8888Src
: UnsafePointer<vImage_Buffer>, _rgb888dest
: UnsafePointer<vImage_Buffer>, _backgroundColor
: UnsafePointer<UInt8>, _isImagePremultiplied
: Bool, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageFlatten_BGRA8888ToRGB888 ( const vImage_Buffer *, const vImage_Buffer *, const Pixel_8888, bool, vImage_Flags );
Параметры
bgra8888Src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите сгладить.
rgb888dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сbgra8888Src
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Целевой буфер может совпасть с исходным буфером.backgroundColor
Чередованное пиксельное значение с плавающей точкой.
isImagePremultiplied
Истина, если исходное изображение предварительно умножается, ложь иначе.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Обсуждение
Если использование исходного изображения предварительно умножило данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
new value = (i * 255 + (255 - alpha) * backgroundColor + 127) / 255
Если исходное изображение не использует предварительно умноженные данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
new value = (i * alpha + (255 - alpha) * backgroundColor + 127) / 255
Источник и места назначения буферизуют, должен иметь ту же высоту и ту же ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.8 и позже.
-
Преобразовывает изображение BGRAFFFF к изображению RGBFFF против непрозрачного фона предоставленного цвета.
Объявление
Swift
func vImageFlatten_BGRAFFFFToRGBFFF(_
bgraFFFFSrc
: UnsafePointer<vImage_Buffer>, _rgbFFFdest
: UnsafePointer<vImage_Buffer>, _backgroundColor
: UnsafePointer<Float>, _isImagePremultiplied
: Bool, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageFlatten_BGRAFFFFToRGBFFF ( const vImage_Buffer *, const vImage_Buffer *, const Pixel_FFFF, bool, vImage_Flags );
Параметры
bgraFFFFSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите сгладить.
rgbFFFdest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сbgraFFFFSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Целевой буфер может совпасть с исходным буфером.backgroundColor
Чередованное пиксельное значение с плавающей точкой.
isImagePremultiplied
Истина, если исходное изображение предварительно умножается, ложь иначе.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Обсуждение
Если использование исходного изображения предварительно умножило данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
newcolor = i + (1.0f - alpha) * backgroundColor
Если исходное изображение не использует предварительно умноженные данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
newcolor = i * alpha + (1.0f - alpha) * backgroundColor
Источник и места назначения буферизуют, должен иметь ту же высоту и ту же ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.8 и позже.
-
Преобразовывает изображение RGBA8888 к изображению RGB888 против непрозрачного фона предоставленного цвета.
Объявление
Swift
func vImageFlatten_RGBA8888ToRGB888(_
rgba8888Src
: UnsafePointer<vImage_Buffer>, _rgb888dest
: UnsafePointer<vImage_Buffer>, _backgroundColor
: UnsafePointer<UInt8>, _isImagePremultiplied
: Bool, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageFlatten_RGBA8888ToRGB888 ( const vImage_Buffer *, const vImage_Buffer *, const Pixel_8888, bool, vImage_Flags );
Параметры
rgba8888Src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите сгладить.
rgb888dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сrgba8888Src
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Целевой буфер может совпасть с исходным буфером.backgroundColor
Чередованное пиксельное значение с плавающей точкой.
isImagePremultiplied
Истина, если исходное изображение предварительно умножается, ложь иначе.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Обсуждение
Если использование исходного изображения предварительно умножило данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
new value = (i * 255 + (255 - alpha) * backgroundColor + 127) / 255
Если исходное изображение не использует предварительно умноженные данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
new value = (i * alpha + (255 - alpha) * backgroundColor + 127) / 255
Источник и места назначения буферизуют, должен иметь ту же высоту и ту же ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.8 и позже.
-
Преобразовывает изображение RGBAFFFF к изображению RGB888 против непрозрачного фона предоставленного цвета.
Объявление
Swift
func vImageFlatten_RGBAFFFFToRGBFFF(_
rgbaFFFFSrc
: UnsafePointer<vImage_Buffer>, _rgbFFFdest
: UnsafePointer<vImage_Buffer>, _backgroundColor
: UnsafePointer<Float>, _isImagePremultiplied
: Bool, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageFlatten_RGBAFFFFToRGBFFF ( const vImage_Buffer *, const vImage_Buffer *, const Pixel_FFFF, bool, vImage_Flags );
Параметры
rgbaFFFFSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите сгладить.
rgbFFFdest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сrgbaFFFFSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Целевой буфер может совпасть с исходным буфером.backgroundColor
Чередованное пиксельное значение с плавающей точкой.
isImagePremultiplied
Истина, если исходное изображение предварительно умножается, ложь иначе.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Обсуждение
Если использование исходного изображения предварительно умножило данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
newcolor = i + (1.0f - alpha) * backgroundColor
Если исходное изображение не использует предварительно умноженные данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
newcolor = i * alpha + (1.0f - alpha) * backgroundColor
Источник и места назначения буферизуют, должен иметь ту же высоту и ту же ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.8 и позже.
-
Преобразовывает изображение BGRA8888 к изображению BGR888 против непрозрачного фона предоставленного цвета.
Объявление
Objective C
vImage_Error vImageFlatten_BGRA8888ToBGR888( const vImage_Buffer *bgra8888Src, const vImage_Buffer *bgr888dest, Pixel_8888 backgroundColor, bool isImagePremultiplied, vImage_Flags flags );
Параметры
bgra8888Src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите сгладить.
bgr888dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сbgra8888Src
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Целевой буфер может совпасть с исходным буфером.backgroundColor
Чередованное пиксельное значение с плавающей точкой.
isImagePremultiplied
Истина, если исходное изображение предварительно умножается, ложь иначе.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если использование исходного изображения предварительно умножило данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
newcolor = i + (1.0f - alpha) * backgroundColor
Если исходное изображение не использует предварительно умноженные данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
newcolor = i * alpha + (1.0f - alpha) * backgroundColor
Источник и места назначения буферизуют, должен иметь ту же высоту и ту же ширину.
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.8 и позже.
-
Преобразовывает изображение BGRA8888 к изображению BGR888 против непрозрачного фона предоставленного цвета.
Объявление
Objective C
vImage_Error vImageFlatten_RGBA8888ToBGR888( const vImage_Buffer *rgba8888Src, const vImage_Buffer *bgr888dest, Pixel_8888 backgroundColor, bool isImagePremultiplied, vImage_Flags flags );
Параметры
rgba8888Src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите сгладить.
bgr888dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сrgba8888Src
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Целевой буфер может совпасть с исходным буфером.backgroundColor
Чередованное пиксельное значение с плавающей точкой.
isImagePremultiplied
Истина, если исходное изображение предварительно умножается, ложь иначе.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если использование исходного изображения предварительно умножило данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
newcolor = i + (1.0f - alpha) * backgroundColor
Если исходное изображение не использует предварительно умноженные данные, функция вычисляет каждое значение канала для пикселя в конечном изображении следующим образом (где я - исходное значение для канала):
newcolor = i * alpha + (1.0f - alpha) * backgroundColor
Источник и места назначения буферизуют, должен иметь ту же высоту и ту же ширину.
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.8 и позже.
Считайте пиксели с плавающей точкой в исходном буфере. Для каждого пикселя сделайте следующее: * *, если (пиксель> maxFloat) * пиксель = maxFloat; *, если (пиксель <minFloat) * пиксель = minFloat; * * будет работать на месте. * Эта функция может использоваться для многоканальных форматов изображения, таких как ARGBFFFF. Просто масштабируйте vImage_Buffer.width для компенсации дополнительные каналы.
-
Отсекает пиксельные значения изображения в формате PlanarF, с помощью предоставленных минимальных и максимальных значений.
Объявление
Swift
func vImageClip_PlanarF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _maxFloat
: Pixel_F, _minFloat
: Pixel_F, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageClip_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *dest, Pixel_F maxFloat, Pixel_F minFloat, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите отсечь.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Максимальное пиксельное значение. Функция отсекает большие значения к этому значению в конечном изображении.
minFloat
Минимальное пиксельное значение. Функция отсекает меньшие значения к этому значению в конечном изображении.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция читает пиксели с плавающей точкой в исходном буфере. Для каждого пикселя это делает следующее:
if (pixel > maxFloat )
pixel = maxFloat;
if (pixel < minFloat )
pixel = minFloat;
Будет работать на месте.
Эта функция может использоваться для многоканальных форматов изображения, таких как ARGBFFFF. Просто масштабируйтесь
vImage_Buffer.width
компенсировать дополнительные каналы.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
Эти функции удобства позволяют Вам преобразовывать между чередованным различным (или короткий) форматы, которые vImage явно не поддерживает (и это может иметь меньше, чем или больше чем четыре канала), и форматы это поддержки vImage явно. Можно представлять некоторые нечередующиеся форматы также. Функции не быстры или векторизованы.
-
Комбинирует набор планарных исходных изображений в единственное чередованное конечное изображение, с одним 8-разрядным каналом для каждого планарного изображения.
Объявление
Swift
func vImageConvert_PlanarToChunky8(_
srcPlanarBuffers
: UnsafeMutablePointer<UnsafePointer<vImage_Buffer>>, _destChannels
: UnsafeMutablePointer<UnsafeMutablePointer<Void>>, _channelCount
: UInt32, _destStrideBytes
: UInt, _destWidth
: vImagePixelCount, _destHeight
: vImagePixelCount, _destRowBytes
: UInt, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarToChunky8 ( const vImage_Buffer *srcPlanarBuffers[], void *destChannels[], unsigned int channelCount, size_t destStrideBytes, vImagePixelCount destWidth, vImagePixelCount destHeight, size_t destRowBytes, vImage_Flags flags );
Параметры
srcPlanarBuffers
Массив vImage буферизует структуры, каждая из которых содержит данные изображения в формате Planar8. Каждая структура должна иметь те же значения ширины и высоты, но может иметь различные значения байта строки.
destChannels
Массив указателей на каналы конечного изображения. Каждый указатель указывает на запуск данных для одного целевого канала. Функция заполняет пиксельные значения каждого канала, с помощью соответствующего исходного изображения для каждого канала.
channelCount
Число vImage буферизует структуры в
srcPlanarBuffers
массив и число каналов в конечном изображении.destStrideBytes
Число байтов от одного пиксельного значения в данном канале к следующему пикселю того канала (в строке). Это значение используется для всех каналов.
destWidth
Число пикселей подряд. Это значение используется для всех каналов. Это должно совпасть с шириной каждого из планарных исходных изображений.
destHeight
Число строк. Это значение будет использоваться для всех каналов. Это должно совпасть с высотой каждого из планарных исходных изображений.
destRowBytes
Число байтов с начала строки канала к началу следующей строки в том канале. Это значение используется для всех каналов. (Это не должно совпадать с
rowBytes
значения исходных буферов. Каждый исходный буфер может иметь свое собственноеrowBytes
значение.)flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Комбинирует набор планарных исходных изображений в единственное чередованное конечное изображение, с одним каналом с плавающей точкой для каждого планарного изображения.
Объявление
Swift
func vImageConvert_PlanarToChunkyF(_
srcPlanarBuffers
: UnsafeMutablePointer<UnsafePointer<vImage_Buffer>>, _destChannels
: UnsafeMutablePointer<UnsafeMutablePointer<Void>>, _channelCount
: UInt32, _destStrideBytes
: UInt, _destWidth
: vImagePixelCount, _destHeight
: vImagePixelCount, _destRowBytes
: UInt, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarToChunkyF ( const vImage_Buffer *srcPlanarBuffers[], void *destChannels[], unsigned int channelCount, size_t destStrideBytes, vImagePixelCount destWidth, vImagePixelCount destHeight, size_t destRowBytes, vImage_Flags flags );
Параметры
srcPlanarBuffers
Массив vImage буферизует структуры, каждая из которых содержит данные изображения в формате PlanarF. Каждая структура должна иметь те же значения ширины и высоты, но может иметь различные значения байта строки.
destChannels
Массив указателей на каналы конечного изображения. Каждый указатель указывает на запуск данных для одного целевого канала. Функция заполняет пиксельные значения каждого канала, с помощью соответствующего исходного изображения для каждого канала.
channelCount
Число vImage буферизует структуры в
srcPlanarBuffers
массив и число каналов в конечном изображении.destStrideBytes
Число байтов от одного пиксельного значения в данном канале к следующему пикселю того канала (в строке). Это значение используется для всех каналов.
destWidth
Число пикселей подряд. Это значение используется для всех каналов. Это должно совпасть с шириной каждого из планарных исходных изображений.
destHeight
Число строк. Это значение используется для всех каналов. Это должно совпасть с высотой каждого из планарных исходных изображений.
destRowBytes
Число байтов с начала строки канала к началу следующей строки в том канале. Это значение используется для всех каналов. (Это не должно совпадать с
rowBytes
значения исходных буферов. Каждый исходный буфер может иметь свое собственноеrowBytes
значение.)flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Разделяет исходное изображение на набор соответствующих планарных конечных изображений, один для каждого 8-разрядного канала исходного изображения.
Объявление
Swift
func vImageConvert_ChunkyToPlanar8(_
srcChannels
: UnsafeMutablePointer<UnsafePointer<Void>>, _destPlanarBuffers
: UnsafeMutablePointer<UnsafePointer<vImage_Buffer>>, _channelCount
: UInt32, _srcStrideBytes
: UInt, _srcWidth
: vImagePixelCount, _srcHeight
: vImagePixelCount, _srcRowBytes
: UInt, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_ChunkyToPlanar8 ( const void *srcChannels[], const vImage_Buffer *destPlanarBuffers[], unsigned int channelCount, size_t srcStrideBytes, vImagePixelCount srcWidth, vImagePixelCount srcHeight, size_t srcRowBytes, vImage_Flags flags );
Параметры
srcChannels
Массив указателей на каналы исходного изображения. Каждый указатель указывает на запуск данных для одного исходного канала.
destPlanarBuffers
Массив vImage буферизует структуры, каждая из которых содержит данные изображения в формате Planar8. Каждая структура должна иметь те же значения ширины и высоты, но может иметь различные значения байта строки. По возврату буфер данных в каждой буферной структуре vImage содержит планарное изображение, эквивалентное соответствующему каналу исходного изображения.
channelCount
Число каналов в исходном изображении.
srcStrideBytes
Число байтов от одного пиксельного значения в данном канале к следующему пикселю того канала (в строке). Это значение должно быть тем же для всех каналов.
srcWidth
Число пикселей подряд. Это значение должно быть тем же для всех каналов в исходном изображении, и для всех целевых буферов.
srcHeight
Число строк. Это значение должно быть тем же для всех каналов в исходном изображении, и для всех целевых буферов.
srcRowBytes
Число байтов с начала строки канала к началу следующей строки канала. Это значение должно быть тем же для всех каналов исходного изображения. (Это не имеет совпадать с
rowBytes
значения целевых буферов. Каждый целевой буфер может иметь свое собственноеrowBytes
значение.)flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Разделяет исходное изображение на набор соответствующих планарных конечных изображений, один для каждого канала с плавающей точкой исходного изображения.
Объявление
Swift
func vImageConvert_ChunkyToPlanarF(_
srcChannels
: UnsafeMutablePointer<UnsafePointer<Void>>, _destPlanarBuffers
: UnsafeMutablePointer<UnsafePointer<vImage_Buffer>>, _channelCount
: UInt32, _srcStrideBytes
: UInt, _srcWidth
: vImagePixelCount, _srcHeight
: vImagePixelCount, _srcRowBytes
: UInt, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_ChunkyToPlanarF ( const void *srcChannels[], const vImage_Buffer *destPlanarBuffers[], unsigned int channelCount, size_t srcStrideBytes, vImagePixelCount srcWidth, vImagePixelCount srcHeight, size_t srcRowBytes, vImage_Flags flags );
Параметры
srcChannels
Массив указателей на каналы исходного изображения. Каждый указатель указывает на запуск данных для одного исходного канала.
destPlanarBuffers
Массив vImage буферизует структуры, каждая из которых содержит данные изображения в формате PlanarF. Каждая структура должна иметь те же значения ширины и высоты, но может иметь различные значения байта строки. По возврату буфер данных в каждой каждой буферной структуре vImage содержит планарное изображение, эквивалентное соответствующему каналу исходного изображения.
channelCount
Число каналов в исходном изображении.
srcStrideBytes
Число байтов от одного пиксельного значения в данном канале к следующему пикселю того канала (в строке). Это значение должно быть тем же для всех каналов.
srcWidth
Число пикселей подряд. Это значение должно быть тем же для всех каналов в исходном изображении, и для всех целевых буферов.
srcHeight
Число строк. Это значение должно быть тем же для всех каналов в исходном изображении, и для всех целевых буферов.
srcRowBytes
Число байтов с начала строки канала к началу следующей строки канала. Это значение должно быть тем же для всех каналов исходного изображения. (Это не имеет совпадать с
rowBytes
значения целевых буферов. Каждый целевой буфер может иметь свое собственноеrowBytes
значение.)flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
Эти подпрограммы преобразования преобразовывают планарные 8-разрядные буферы в упакованный (чередованный) формат с плавающей точкой с 4 каналами.
Значение maxFloat
и minFloat
вот substatially то же что касается vImageConvert_Planar8toPlanarF
функция. Различие - то, что, так как это - изображение с четырьмя каналами, мы используем минуту с четырьмя каналами и макс. значения так, чтобы различные минуты и макси могли использоваться для каждого канала. Каналы в minFloat
и maxFloat находятся в том же порядке как выходные пиксели. Если maxFloat параметр будет меньше, чем minFloat параметр, то изображение выйдет, будучи похож на фотографическое отрицание.
(Т.е. Вы получаете свободный контраст + настройка яркости как часть этого преобразования.)
vImageConvert_Planar8ToARGBFFFF
функция является рабочей лошадью этой семьи. Другие три предоставлены как удобство. Можно фактически заменить любым из каналов с константой путем замены vImage_Buffer
переданный в для того канала с одним от другого цветового канала и набора maxFloat.color = minFloat.color = требуемый цвет для того канала. (В особом случае, где Вы хотите, чтобы все четыре канала были постоянными, вызовите vImageBufferFill_ARGBFFFF вместо этого.)
Аналогично, несмотря на то, что эти имена API, кажется, соответствуют определенным заказам цветового канала, vImage не имеет никакого способа знать то, что является фактически красным или зеленым или голубым, таким образом, можно использовать их для других цветовых пространств и других заказов упаковки. Таким образом, vImageConvert_Planar8ToARGBFFFF
должен должным образом считаться несколько агностическим цветовым пространством <=4-planar 8-разрядный канал к функции преобразования упакованного плавания с 4 каналами.
Данные о производительности на Intel Core2 и G5 предлагают, чтобы как самые простые функции преобразования, эти функции только выполнили хорошо, если данные уже находятся в кэше.
Оптимальные размеры мозаики между ~200 пикселями и где-нибудь в диапазоне на 50 000 - 200 000 пикселей, в зависимости от размера кэша. Если изображение больше, чем это, эта функция ограничивается пропускной способностью системной шины машины и будет работать куда угодно от в 3 до 10 раз медленнее. Для хорошо размерных изображений / времена, мы замечаем, что векторный код 3-12x быстрее, чем скалярный код. Для изображений, не помещающихся в кэш или которые не находятся в кэше, векторный код, возможно, только на 10% быстрее, чем скаляр.
Флаг |
Описание |
---|---|
|
Возвраты 0. Не выполняет работы. |
|
Отключает внутреннюю многопоточность, если таковые имеются. |
Другие флаги |
Другие флаги заставляют функцию возвращаться |
-
Преобразовывает изображение Planar8 в 16U изображение.
Объявление
Swift
func vImageConvert_Planar8To16U(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8To16U ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Обсуждение
Функция преобразовывает от 8-разрядного до 16-разрядных значений следующим образом:
uint16_t result = (srcPixel * 65535 + 127 ) / 255
Можно также использовать эту функцию для преобразования изображения ARGB8888 в с 4 каналами, чередованный 16U изображение. Просто умножьте ширину целевого буфера на четыре.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Объединения четыре Planar8 отображают в одно изображение ARGB1555.
Объявление
Swift
func vImageConvert_Planar8toARGB1555(_
srcA
: UnsafePointer<vImage_Buffer>, _srcR
: UnsafePointer<vImage_Buffer>, _srcG
: UnsafePointer<vImage_Buffer>, _srcB
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8toARGB1555 ( const vImage_Buffer *srcA, const vImage_Buffer *srcR, const vImage_Buffer *srcG, const vImage_Buffer *srcB, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcA
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве альфа-канала конечного изображения.
srcR
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
srcG
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
srcB
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения в формате ARGB1555 (16-разрядные пиксели с 1 битом для альфы и 5 битами каждый для красного, зеленого цвета, и синий). Когда Вам больше не нужен буфер данных, необходимо освободить память. Целевой буфер может совпасть с исходным буфером.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Обсуждение
Эта функция вычисляет 8-разрядные пиксели в конечном изображении следующим образом:
Pixel8 alpha = 1bitAlphaChannel * 255
Pixel8 red = (5bitRedChannel * 255 + 15) / 31
Pixel8 green = (5bitGreenChannel * 255 + 15) / 31
Pixel8 blue = (5bitBlueChannel * 255 + 15) / 31
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Объединения четыре Planar8 отображают в одно изображение ARGB8888.
Объявление
Swift
func vImageConvert_Planar8toARGB8888(_
srcA
: UnsafePointer<vImage_Buffer>, _srcR
: UnsafePointer<vImage_Buffer>, _srcG
: UnsafePointer<vImage_Buffer>, _srcB
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8toARGB8888 ( const vImage_Buffer *srcA, const vImage_Buffer *srcR, const vImage_Buffer *srcG, const vImage_Buffer *srcB, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcA
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве альфа-канала конечного изображения.
srcR
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
srcG
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
srcB
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате ARGB8888. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Обсуждение
Источник и целевые буферы должны иметь ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Преобразовывает изображение Planar8 в изображение PlanarF.
Объявление
Swift
func vImageConvert_Planar8toPlanarF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _maxFloat
: Pixel_F, _minFloat
: Pixel_F, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8toPlanarF ( const vImage_Buffer *src, const vImage_Buffer *dest, Pixel_F maxFloat, Pixel_F minFloat, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение, преобразованное в формат PlanarF. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Максимальное пиксельное значение для конечного изображения.
minFloat
Минимальное пиксельное значение для конечного изображения.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.
Обсуждение
Эта функция преобразовывает изображение Planar8 к изображению PlanarF, с помощью a
minFloat
значение и amaxFloat
значение для указания диапазона значений для изображения PlanarF. Функция отображает каждое значение исходного пикселя (который может быть в диапазоне от 0 до 255 содержащих), линейно в диапазонminFloat
кmaxFloat
, использование следующего отображения (гдеi
старое пиксельное значение):new pixel value = i* (maxFloat - minFloat)/255.0f + minFloat
Два буфера должны иметь то же число строк и то же число столбцов.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Объединения три Planar8 отображают в одно изображение RGB565.
Объявление
Swift
func vImageConvert_Planar8toRGB565(_
srcR
: UnsafePointer<vImage_Buffer>, _srcG
: UnsafePointer<vImage_Buffer>, _srcB
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8toRGB565 ( const vImage_Buffer *srcR, const vImage_Buffer *srcG, const vImage_Buffer *srcB, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcR
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
srcG
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
srcB
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате RGB565 (16-разрядные пиксели с 5 битами для красного, 6 для зеленого, и 5 для синего). Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Функция вычисляет пиксели в конечном изображении следующим образом:
uint32_t red = (8bitRedChannel * (31*2) + 255) / (255*2)
uint32_t green = (8bitGreenChannel * 63 + 127) / 255
uint32_t blue = (8bitBlueChannel * 31 + 127) / 255
uint16_t RGB565pixel = (red << 11) | (green << 5) | blue
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Объединения три Planar8 отображают в одно изображение RGB888.
Объявление
Swift
func vImageConvert_Planar8toRGB888(_
planarRed
: UnsafePointer<vImage_Buffer>, _planarGreen
: UnsafePointer<vImage_Buffer>, _planarBlue
: UnsafePointer<vImage_Buffer>, _rgbDest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8toRGB888 ( const vImage_Buffer *planarRed, const vImage_Buffer *planarGreen, const vImage_Buffer *planarBlue, const vImage_Buffer *rgbDest, vImage_Flags flags );
Параметры
planarRed
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
planarGreen
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
planarBlue
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
rgbDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате RGB888. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Источник и целевые буферы должны иметь ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Объединения три PlanarF отображают в одно изображение RGBFFF.
Объявление
Swift
func vImageConvert_PlanarFtoRGBFFF(_
planarRed
: UnsafePointer<vImage_Buffer>, _planarGreen
: UnsafePointer<vImage_Buffer>, _planarBlue
: UnsafePointer<vImage_Buffer>, _rgbDest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarFtoRGBFFF ( const vImage_Buffer *planarRed, const vImage_Buffer *planarGreen, const vImage_Buffer *planarBlue, const vImage_Buffer *rgbDest, vImage_Flags flags );
Параметры
planarRed
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве красного канала конечного изображения.
planarGreen
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве зеленого канала конечного изображения.
planarBlue
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве синего канала конечного изображения.
rgbDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате RGBFFF. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Источник и целевые буферы должны иметь ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Объединения четыре PlanarF отображают в одно изображение ARGBFFFF.
Объявление
Swift
func vImageConvert_PlanarFtoARGBFFFF(_
srcA
: UnsafePointer<vImage_Buffer>, _srcR
: UnsafePointer<vImage_Buffer>, _srcG
: UnsafePointer<vImage_Buffer>, _srcB
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarFtoARGBFFFF ( const vImage_Buffer *srcA, const vImage_Buffer *srcR, const vImage_Buffer *srcG, const vImage_Buffer *srcB, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcA
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве альфа-канала конечного изображения.
srcR
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве красного канала конечного изображения.
srcG
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве зеленого канала конечного изображения.
srcB
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве синего канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения в формате ARGBFFFF. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Источник и целевые буферы должны иметь ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Преобразовывает изображение PlanarF в изображение Planar16F.
Объявление
Swift
func vImageConvert_PlanarFtoPlanar16F(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarFtoPlanar16F ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение, преобразованное в формат Planar16F. Целевой буфер может совпасть с исходным буфером. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Пиксели Planar16F являются 16-разрядными числами с плавающей точкой, соответствуя стандарту OpenEXR. Denormals, NaNs. и +/– Бесконечность поддерживаются. В соответствии с IEEE 754, все сигнальные NaNs, подавил шумы во время преобразования (OpenEXR-1.2.1 не делает этого.)
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение PlanarF в изображение Planar8, отсекая значения к предоставленным минимальным и максимальным значениям.
Объявление
Swift
func vImageConvert_PlanarFtoPlanar8(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _maxFloat
: Pixel_F, _maxFloat
: Pixel_F, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarFtoPlanar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, Pixel_F maxFloat, Pixel_F minFloat, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение, преобразованное в формат Planar8. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Максимальное пиксельное значение. Функция отсекает большие значения к этому значению в конечном изображении.
maxFloat
Минимальное пиксельное значение. Функция отсекает меньшие значения к этому значению в конечном изображении.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Минимальное и максимальное значение решает, что отображение интенсивности оценивает конечному изображению. Отображение:
if oldPixel < minFloat
newPixel = 0
if minfloat <= oldPixel <= maxFloat
newPixel = (oldPixel - minFloat) * 255.0f / (maxFloat - minFloat)
if oldPixel > maxFloat
newPixel = 255
Источник и целевые буферы должны иметь ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Преобразовывает изображение Planar16F в изображение PlanarF.
Объявление
Swift
func vImageConvert_Planar16FtoPlanarF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar16FtoPlanarF ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение, преобразованное в формат PlanarF. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Формат Planar16F идентичен формату OpenEXR; это использует 16-разрядные числа с плавающей точкой. В соответствии с IEEE 754, функция подавляет шумы сигнального NaNs во время преобразования. (OpenEXR-1.2.1 не делает этого.)
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение PlanarF в специальный формат, в котором каждый пиксель является 16-разрядным целым числом со знаком.
Объявление
Swift
func vImageConvert_FTo16S(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _offset
: Float, _scale
: Float, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_FTo16S ( const vImage_Buffer *src, const vImage_Buffer *dest, float offset, float scale, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение, преобразованное в 16-разрядный формат целого числа со знаком. Когда Вам больше не нужен буфер данных, необходимо освободить память.offset
Значение смещения для вычитания из каждого пикселя.
scale
Значение масштаба для деления каждого пикселя на.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Каждое пиксельное значение сначала смещается и масштабируется предоставленными значениями, и затем изменяется на 16-разрядное целое число со знаком (округленный и отсеченный по мере необходимости). Вычисление следующие:
resultPixel = SATURATED_CLIP_SHRT_MIN_to_SHRT_MAX( (srcPixel - offset)
/ scale + 0.5f)
Функции
vImageConvert_16SToF
иvImageConvert_FTo16S
обратные преобразования, когда Вы используете то же смещение и значения масштаба для каждого. (Инверсия не точна вследствие ошибки округления.) Это требует, чтобы две функции использовали эти значения по-другому (и в различном порядке).Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Преобразовывает изображение PlanarF в специальный формат, в котором каждый пиксель является 16-разрядным целым без знака.
Объявление
Swift
func vImageConvert_FTo16U(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _offset
: Float, _scale
: Float, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_FTo16U ( const vImage_Buffer *src, const vImage_Buffer *dest, float offset, float scale, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение, преобразованное в 16-разрядный формат целого без знака. Когда Вам больше не нужен буфер данных, необходимо освободить память.offset
Значение смещения для вычитания из каждого пикселя.
scale
Значение масштаба для деления каждого пикселя на.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Каждое пиксельное значение сначала смещается и масштабируется предоставленными пользователями значениями, и затем изменяется на 16-разрядное целое без знака (округленный и отсеченный по мере необходимости). Вычисление следующие:
resultPixel = SATURATED_CLIP_0_to_USHRT_MAX( (sourcePixel - offset)
/ scale + 0.5f)
Функции
vImageConvert_16UToF
иvImageConvert_FTo16U
обратные преобразования, когда Вы используете то же смещение и значения масштаба для каждого. (Инверсия не точна вследствие ошибки округления.) Это требует, чтобы две функции использовали эти значения по-другому (и в различном порядке).Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Объединения четыре Planar8 отображают в одно изображение ARGBFFFF.
Объявление
Swift
func vImageConvert_Planar8ToARGBFFFF(_
alpha
: UnsafePointer<vImage_Buffer>, _red
: UnsafePointer<vImage_Buffer>, _green
: UnsafePointer<vImage_Buffer>, _blue
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _maxFloat
: UnsafePointer<Float>, _minFloat
: UnsafePointer<Float>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8ToARGBFFFF ( const vImage_Buffer *alpha, const vImage_Buffer *red, const vImage_Buffer *green, const vImage_Buffer *blue, const vImage_Buffer *dest, const Pixel_FFFF maxFloat, const Pixel_FFFF minFloat, vImage_Flags flags );
Параметры
alpha
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве альфа-канала конечного изображения.
red
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
blue
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате ARGBFFFF. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Группа максимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает большие значения к этим значениям в конечном изображении.
minFloat
Группа минимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает меньшие значения к этим значениям в конечном изображении.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта подпрограмма не может использоваться на месте.
Если
maxFloat
значение для канала является меньше, чемminFloat
значение, выходной диапазон для того канала инвертируется.Для использования постоянного значения для единственного канала установите максимальные и минимальные значения для того канала, чтобы быть тем же значением. Когда Вы делаете это, необходимо все еще обеспечить допустимое
vImage_Buffer
указатель для того канала, но значения в том буфере неважен.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Объединения три Planar8 отображают в одно изображение BGRXFFFF.
Объявление
Swift
func vImageConvert_Planar8ToBGRXFFFF(_
blue
: UnsafePointer<vImage_Buffer>, _green
: UnsafePointer<vImage_Buffer>, _red
: UnsafePointer<vImage_Buffer>, _alpha
: Pixel_F, _dest
: UnsafePointer<vImage_Buffer>, _maxFloat
: UnsafePointer<Float>, _minFloat
: UnsafePointer<Float>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8ToBGRXFFFF ( const vImage_Buffer *blue, const vImage_Buffer *green, const vImage_Buffer *red, Pixel_F alpha, const vImage_Buffer *dest, const Pixel_FFFF maxFloat, const Pixel_FFFF minFloat, vImage_Flags flags );
Параметры
blue
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
red
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
alpha
Значение для использования для альфа-канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате BGRXFFFF. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Группа максимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает большие значения к этим значениям в конечном изображении.
minFloat
Группа минимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает меньшие значения к этим значениям в конечном изображении.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта подпрограмма не может использоваться на месте.
Если
maxFloat
значение для канала является меньше, чемminFloat
значение, выходной диапазон для того канала инвертируется.Для использования постоянного значения для единственного канала установите максимальные и минимальные значения для того канала, чтобы быть тем же значением. Когда Вы делаете это, необходимо все еще обеспечить допустимое
vImage_Buffer
указатель для того канала, но значения в том буфере неважен.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Объединения три Planar8 отображают в одно изображение RGBXFFFF.
Объявление
Objective C
vImage_Error vImageConvert_Planar8ToRGBXFFFF ( const vImage_Buffer *red, const vImage_Buffer *green, const vImage_Buffer *blue, Pixel_F alpha, const vImage_Buffer *dest, const Pixel_FFFF maxFloat, const Pixel_FFFF minFloat, vImage_Flags flags );
Параметры
red
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
blue
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
alpha
Значение для использования для альфа-канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате RGBXFFFF. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Группа максимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает большие значения к этим значениям в конечном изображении.
minFloat
Группа минимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает меньшие значения к этим значениям в конечном изображении.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта подпрограмма не может использоваться на месте.
Если
maxFloat
значение для канала является меньше, чемminFloat
значение, выходной диапазон для того канала инвертируется.Для использования постоянного значения для единственного канала установите максимальные и минимальные значения для того канала, чтобы быть тем же значением. Когда Вы делаете это, необходимо все еще обеспечить допустимое
vImage_Buffer
указатель для того канала, но значения в том буфере неважен.Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.7 и позже.
-
Объединения три Planar8 отображают в одно изображение BGRXFFFF.
Объявление
Swift
func vImageConvert_Planar8ToXRGBFFFF(_
alpha
: Pixel_F, _red
: UnsafePointer<vImage_Buffer>, _green
: UnsafePointer<vImage_Buffer>, _blue
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _maxFloat
: UnsafePointer<Float>, _minFloat
: UnsafePointer<Float>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8ToXRGBFFFF ( Pixel_F alpha, const vImage_Buffer *red, const vImage_Buffer *green, const vImage_Buffer *blue, const vImage_Buffer *dest, const Pixel_FFFF maxFloat, const Pixel_FFFF minFloat, vImage_Flags flags );
Параметры
alpha
Значение для использования для альфа-канала конечного изображения.
red
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
blue
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате XRGBFFFF. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Группа максимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает большие значения к этим значениям в конечном изображении.
minFloat
Группа минимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает меньшие значения к этим значениям в конечном изображении.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта подпрограмма не может использоваться на месте.
Если
maxFloat
значение для канала является меньше, чемminFloat
значение, выходной диапазон для того канала инвертируется.Для использования постоянного значения для единственного канала установите максимальные и минимальные значения для того канала, чтобы быть тем же значением. Когда Вы делаете это, необходимо все еще обеспечить допустимое
vImage_Buffer
указатель для того канала, но значения в том буфере неважен.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Преобразовывает три изображения PlanarF в одно изображение BGRXFFFF.
Объявление
Swift
func vImageConvert_PlanarFToBGRXFFFF(_
blue
: UnsafePointer<vImage_Buffer>, _green
: UnsafePointer<vImage_Buffer>, _red
: UnsafePointer<vImage_Buffer>, _alpha
: Pixel_F, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarFToBGRXFFFF ( const vImage_Buffer *blue, const vImage_Buffer *green, const vImage_Buffer *red, Pixel_F alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
blue
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве синего канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве зеленого канала конечного изображения.
red
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве красного канала конечного изображения.
alpha
Значение для использования для альфа-канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате BGRXFFFF. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта подпрограмма не может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Преобразовывает три изображения PlanarF в одно изображение RGBXFFFF.
Объявление
Objective C
vImage_Error vImageConvert_PlanarFToRGBXFFFF ( const vImage_Buffer *red, const vImage_Buffer *green, const vImage_Buffer *blue, Pixel_F alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
red
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве красного канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве зеленого канала конечного изображения.
blue
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве синего канала конечного изображения.
alpha
Значение для использования для альфа-канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате RGBXFFFF. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта подпрограмма не может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.7 и позже.
-
Преобразовывает три изображения PlanarF в одно изображение XRGBFFFF.
Объявление
Swift
func vImageConvert_PlanarFToXRGBFFFF(_
alpha
: Pixel_F, _red
: UnsafePointer<vImage_Buffer>, _green
: UnsafePointer<vImage_Buffer>, _blue
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarFToXRGBFFFF ( Pixel_F alpha, const vImage_Buffer *red, const vImage_Buffer *green, const vImage_Buffer *blue, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
alpha
Значение для использования для альфа-канала конечного изображения.
red
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве красного канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве зеленого канала конечного изображения.
blue
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве синего канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате XRGBFFFF. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта подпрограмма не может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Чередования три Planar8 отображают в одно изображение BGRX8888.
Объявление
Swift
func vImageConvert_Planar8ToBGRX8888(_
blue
: UnsafePointer<vImage_Buffer>, _green
: UnsafePointer<vImage_Buffer>, _red
: UnsafePointer<vImage_Buffer>, _alpha
: Pixel_8, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8ToBGRX8888 ( const vImage_Buffer *blue, const vImage_Buffer *green, const vImage_Buffer *red, Pixel_8 alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
blue
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
red
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
alpha
Значение для использования для альфа-канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате BGRX8888. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта подпрограмма не может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Чередования три Planar8 отображают в одно изображение RGBX8888.
Объявление
Objective C
vImage_Error vImageConvert_Planar8ToRGBX8888 ( const vImage_Buffer *red, const vImage_Buffer *green, const vImage_Buffer *blue, Pixel_8 alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
red
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
blue
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
alpha
Значение для использования для альфа-канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате RGBX8888. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта подпрограмма не может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.7 и позже.
-
Чередования три Planar8 отображают в одно изображение XRGB8888.
Объявление
Swift
func vImageConvert_Planar8ToXRGB8888(_
alpha
: Pixel_8, _red
: UnsafePointer<vImage_Buffer>, _green
: UnsafePointer<vImage_Buffer>, _blue
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_Planar8ToXRGB8888 ( Pixel_8 alpha, const vImage_Buffer *red, const vImage_Buffer *green, const vImage_Buffer *blue, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
alpha
Значение для использования для альфа-канала конечного изображения.
red
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве красного канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве зеленого канала конечного изображения.
blue
Указатель на vImage буферизует структуру, содержащую изображение Planar8 для использования в качестве синего канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате XRGB8888. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта подпрограмма не может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Преобразовывает четыре изображения PlanarF в одно изображение ARGB8888.
Объявление
Swift
func vImageConvert_PlanarFToARGB8888(_
alpha
: UnsafePointer<vImage_Buffer>, _red
: UnsafePointer<vImage_Buffer>, _green
: UnsafePointer<vImage_Buffer>, _blue
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _maxFloat
: UnsafePointer<Float>, _minFloat
: UnsafePointer<Float>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarFToARGB8888 ( const vImage_Buffer *alpha, const vImage_Buffer *red, const vImage_Buffer *green, const vImage_Buffer *blue, const vImage_Buffer *dest, const Pixel_FFFF maxFloat, const Pixel_FFFF minFloat, vImage_Flags flags );
Параметры
alpha
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве альфа-канала конечного изображения.
red
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве красного канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве зеленого канала конечного изображения.
blue
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве синего канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате ARGB8888. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Группа максимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает большие значения к этим значениям в конечном изображении.
minFloat
Группа минимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает меньшие значения к этим значениям в конечном изображении.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция может использоваться на месте.
Если
maxFloat
значение для канала является меньше, чемminFloat
значение, выходной диапазон для того канала инвертируется.Для использования постоянного значения для единственного канала установите максимальные и минимальные значения для того канала, чтобы быть тем же значением. Когда Вы делаете это, необходимо все еще обеспечить допустимое
vImage_Buffer
указатель для того канала, но значения в том буфере неважен.Это вычисляет следующее:
float a = 255.0f / (maxFloat[channel] - minFloat[channel]);
float b = minFloat[channel] * -a;
uint8_t result = ROUND_TO_INTEGER( SATURATED_CLAMP( srcPixel[channel],
minFloat[channel], maxFloat[channel]) * a + b ));
где
NaN
заменяется нулем. ЕслиmaxFloat
иminFloat
равны, это вычисляет:uint8_t result = ROUND_TO_INTEGER( SATURATED_CLIP_0_to_255( 255.0f * maxFloat[channel] ) );
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Преобразовывает три изображения PlanarF в одно изображение BGRX8888.
Объявление
Swift
func vImageConvert_PlanarFToBGRX8888(_
blue
: UnsafePointer<vImage_Buffer>, _green
: UnsafePointer<vImage_Buffer>, _red
: UnsafePointer<vImage_Buffer>, _alpha
: Pixel_8, _dest
: UnsafePointer<vImage_Buffer>, _maxFloat
: UnsafePointer<Float>, _minFloat
: UnsafePointer<Float>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarFToBGRX8888 ( const vImage_Buffer *blue, const vImage_Buffer *green, const vImage_Buffer *red, Pixel_8 alpha, const vImage_Buffer *dest, const Pixel_FFFF maxFloat, const Pixel_FFFF minFloat, vImage_Flags flags );
Параметры
blue
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве синего канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве зеленого канала конечного изображения.
red
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве красного канала конечного изображения.
alpha
Значение для использования для альфа-канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате BGRX8888. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Группа максимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает большие значения к этим значениям в конечном изображении.
minFloat
Группа минимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает меньшие значения к этим значениям в конечном изображении.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция может использоваться на месте.
Если
maxFloat
значение для канала является меньше, чемminFloat
значение, выходной диапазон для того канала инвертируется.Для использования постоянного значения для единственного канала установите максимальные и минимальные значения для того канала, чтобы быть тем же значением. Когда Вы делаете это, необходимо все еще обеспечить допустимое
vImage_Buffer
указатель для того канала, но значения в том буфере неважен.Это вычисляет следующее:
float a = 255.0f / (maxFloat[channel] - minFloat[channel]);
float b = minFloat[channel] * -a;
uint8_t result = ROUND_TO_INTEGER( SATURATED_CLAMP( srcPixel[channel],
minFloat[channel], maxFloat[channel]) * a + b ));
где
NaN
заменяется нулем. ЕслиmaxFloat
иminFloat
равны, это вычисляет:uint8_t result = ROUND_TO_INTEGER( SATURATED_CLIP_0_to_255( 255.0f * maxFloat[channel] ) );
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Преобразовывает три изображения PlanarF в одно изображение XRGB8888.
Объявление
Swift
func vImageConvert_PlanarFToXRGB8888(_
alpha
: Pixel_8, _red
: UnsafePointer<vImage_Buffer>, _green
: UnsafePointer<vImage_Buffer>, _blue
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _maxFloat
: UnsafePointer<Float>, _minFloat
: UnsafePointer<Float>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_PlanarFToXRGB8888 ( Pixel_8 alpha, const vImage_Buffer *red, const vImage_Buffer *green, const vImage_Buffer *blue, const vImage_Buffer *dest, const Pixel_FFFF maxFloat, const Pixel_FFFF minFloat, vImage_Flags flags );
Параметры
alpha
Значение для использования для альфа-канала конечного изображения.
red
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве красного канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве зеленого канала конечного изображения.
blue
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве синего канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате XRGB8888. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Группа максимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает большие значения к этим значениям в конечном изображении.
minFloat
Группа минимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает меньшие значения к этим значениям в конечном изображении.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция может использоваться на месте.
Если
maxFloat
значение для канала является меньше, чемminFloat
значение, выходной диапазон для того канала инвертируется.Для использования постоянного значения для единственного канала установите максимальные и минимальные значения для того канала, чтобы быть тем же значением. Когда Вы делаете это, необходимо все еще обеспечить допустимое
vImage_Buffer
указатель для того канала, но значения в том буфере неважен.Это вычисляет следующее:
float a = 255.0f / (maxFloat[channel] - minFloat[channel]);
float b = minFloat[channel] * -a;
uint8_t result = ROUND_TO_INTEGER( SATURATED_CLAMP( srcPixel[channel],
minFloat[channel], maxFloat[channel]) * a + b ));
где
NaN
заменяется нулем. ЕслиmaxFloat
иminFloat
равны, это вычисляет:uint8_t result = ROUND_TO_INTEGER( SATURATED_CLIP_0_to_255( 255.0f * maxFloat[channel] ) );
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Преобразовывает три изображения PlanarF в одно изображение RGBX8888.
Объявление
Objective C
vImage_Error vImageConvert_PlanarFToRGBX8888 ( const vImage_Buffer *red, const vImage_Buffer *green, const vImage_Buffer *blue, Pixel_8 alpha, const vImage_Buffer *dest, const Pixel_FFFF maxFloat, const Pixel_FFFF minFloat, vImage_Flags flags );
Параметры
red
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве красного канала конечного изображения.
green
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве зеленого канала конечного изображения.
blue
Указатель на vImage буферизует структуру, содержащую изображение PlanarF для использования в качестве синего канала конечного изображения.
alpha
Значение для использования для альфа-канала конечного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит конечное изображение в формате RGBX8888. Когда Вам больше не нужен буфер данных, необходимо освободить память.maxFloat
Группа максимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает большие значения к этим значениям в конечном изображении.
minFloat
Группа минимальных пиксельных значений, один на канал, в том же порядке как в выходных пикселях. Функция отсекает меньшие значения к этим значениям в конечном изображении.
flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция может использоваться на месте.
Если
maxFloat
значение для канала является меньше, чемminFloat
значение, выходной диапазон для того канала инвертируется.Для использования постоянного значения для единственного канала установите максимальные и минимальные значения для того канала, чтобы быть тем же значением. Когда Вы делаете это, необходимо все еще обеспечить допустимое
vImage_Buffer
указатель для того канала, но значения в том буфере неважен.Это вычисляет следующее:
float a = 255.0f / (maxFloat[channel] - minFloat[channel]);
float b = minFloat[channel] * -a;
uint8_t result = ROUND_TO_INTEGER( SATURATED_CLAMP( srcPixel[channel],
minFloat[channel], maxFloat[channel]) * a + b ));
где
NaN
заменяется нулем. ЕслиmaxFloat
иminFloat
равны, это вычисляет:uint8_t result = ROUND_TO_INTEGER( SATURATED_CLIP_0_to_255( 255.0f * maxFloat[channel] ) );
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.7 и позже.
-
Преобразовывает изображение ARGB1555 в изображение ARGB8888.
Объявление
Swift
func vImageConvert_ARGB1555toARGB8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_ARGB1555toARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит преобразованные данные. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Формат ARGB1555 имеет 16-разрядные пиксели с 1 битом для альфы и 5 битами каждый для красного, зеленого цвета, и синий. Функция вычисляет 8-разрядные пиксели в конечном изображении следующим образом:
Pixel8 alpha = 1bitAlphaChannel * 255
Pixel8 red = (5bitRedChannel * 255 + 15) / 31
Pixel8 green = (5bitGreenChannel * 255 + 15) / 31
Pixel8 blue = (5bitBlueChannel * 255 + 15) / 31
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Разделяет изображение ARGB1555 на четыре изображения Planar8.
Объявление
Swift
func vImageConvert_ARGB1555toPlanar8(_
src
: UnsafePointer<vImage_Buffer>, _destA
: UnsafePointer<vImage_Buffer>, _destR
: UnsafePointer<vImage_Buffer>, _destG
: UnsafePointer<vImage_Buffer>, _destB
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_ARGB1555toPlanar8 ( const vImage_Buffer *src, const vImage_Buffer *destA, const vImage_Buffer *destR, const vImage_Buffer *destG, const vImage_Buffer *destB, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите разделить.
destA
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного альфа-каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destR
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного красному каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destG
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного зеленому каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destB
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного синему каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Формат ARGB1555 имеет 16-разрядные пиксели с 1 битом для альфы и 5 битами каждый для красного, зеленого цвета, и синий. Функция вычисляет 8-разрядные пиксели в конечном изображении следующим образом:
Pixel8 alpha = 1bitAlphaChannel * 255
Pixel8 red = (5bitRedChannel * 255 + 15) / 31
Pixel8 green = (5bitGreenChannel * 255 + 15) / 31
Pixel8 blue = (5bitBlueChannel * 255 + 15) / 31
Эта функция работает на месте на один целевой буфер; другие должны быть выделены отдельно.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение ARGB8888 в изображение ARGB1555.
Объявление
Swift
func vImageConvert_ARGB8888toARGB1555(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_ARGB8888toARGB1555 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные преобразованного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Формат ARGB1555 имеет 16-разрядные пиксели с 1 битом для альфы и 5 битами каждый для красного, зеленого цвета, и синий. Функция вычисляет 16-разрядные пиксели в конечном изображении следующим образом:
uint32_t alpha = (8bitAlphaChannel + 127) / 255
uint32_t red = (8bitRedChannel * 31 + 127) / 255
uint32_t green = (8bitGreenChannel * 31 + 127) / 255
uint32_t blue = (8bitBlueChannel * 31 + 127) / 255
uint16_t ARGB1555pixel = (alpha << 15) | (red << 10) | (green << 5) | blue
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Разделяет изображение ARGB8888 на четыре изображения Planar8.
Объявление
Swift
func vImageConvert_ARGB8888toPlanar8(_
srcARGB
: UnsafePointer<vImage_Buffer>, _destA
: UnsafePointer<vImage_Buffer>, _destR
: UnsafePointer<vImage_Buffer>, _destG
: UnsafePointer<vImage_Buffer>, _destB
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_ARGB8888toPlanar8 ( const vImage_Buffer *srcARGB, const vImage_Buffer *destA, const vImage_Buffer *destR, const vImage_Buffer *destG, const vImage_Buffer *destB, vImage_Flags flags );
Параметры
srcARGB
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите разделить.
destA
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного альфа-каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destR
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного красному каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destG
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного зеленому каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destB
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного синему каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Исходное изображение, и
destA
,destR
,destG
, иdestB
целевые буферы, должен иметь ту же высоту и ту же ширину. Эта функция работает на месте на один целевой буфер. Другие должны быть выделены отдельно.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Преобразовывает изображение ARGB8888 в изображение RGB565.
Объявление
Swift
func vImageConvert_ARGB8888toRGB565(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_ARGB8888toRGB565 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные в формате RGB565. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Альфа-канал в изображении ARGB8888 проигнорирован. (Формат RGB565 имеет 16-разрядные пиксели с 5 битами для красного, 6 для зеленого, и 5 для синего.) Функция вычисляет пиксели в конечном изображении следующим образом:
uint32_t red = (8bitRedChannel * (31*2) + 255) / (255*2)
uint32_t green = (8bitGreenChannel * 63 + 127) / 255
uint32_t blue = (8bitBlueChannel * 31 + 127) / 255
uint16_t RGB565pixel = (red << 11) | (green << 5) | blue
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение ARGB8888 с четырьмя каналами в изображение RGB888 с тремя каналами путем удаления альфа-канала..
Объявление
Swift
func vImageConvert_ARGB8888toRGB888(_
argbSrc
: UnsafePointer<vImage_Buffer>, _rgbDest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_ARGB8888toRGB888 ( const vImage_Buffer *, const vImage_Buffer *, vImage_Flags );
Параметры
argbSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
rgbDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сargbSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные в формате RGB888. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Красные, зеленые, и синие каналы просто копируются. Эта функция может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение RGBA8888 с четырьмя каналами в изображение RGB888 с тремя каналами путем удаления альфа-канала.
Объявление
Swift
func vImageConvert_RGBA8888toRGB888(_
rgbaSrc
: UnsafePointer<vImage_Buffer>, _rgbDest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_RGBA8888toRGB888 ( const vImage_Buffer *, const vImage_Buffer *, vImage_Flags );
Параметры
rgbaSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
rgbDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сargbSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные в формате RGB888. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Красные, зеленые, и синие каналы просто копируются. Эта функция может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.9 и позже.
-
Преобразовывает изображение BGRA8888 с четырьмя каналами в изображение RGB888 с тремя каналами путем удаления альфа-канала.
Объявление
Swift
func vImageConvert_BGRA8888toRGB888(_
bgraSrc
: UnsafePointer<vImage_Buffer>, _rgbDest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_BGRA8888toRGB888 ( const vImage_Buffer *, const vImage_Buffer *, vImage_Flags );
Параметры
bgraSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
rgbDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сargbSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные в формате RGB888. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Красные, зеленые, и синие каналы просто копируются. Эта функция может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.9 и позже.
-
Разделяет изображение ARGBFFFF на четыре изображения PlanarF.
Объявление
Swift
func vImageConvert_ARGBFFFFtoPlanarF(_
srcARGB
: UnsafePointer<vImage_Buffer>, _destA
: UnsafePointer<vImage_Buffer>, _destR
: UnsafePointer<vImage_Buffer>, _destG
: UnsafePointer<vImage_Buffer>, _destB
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_ARGBFFFFtoPlanarF ( const vImage_Buffer *srcARGB, const vImage_Buffer *destA, const vImage_Buffer *destR, const vImage_Buffer *destG, const vImage_Buffer *destB, vImage_Flags flags );
Параметры
srcARGB
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите разделить.
destA
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения PlanarF, эквивалентного альфа-каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destR
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения PlanarF, эквивалентного красному каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destG
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения PlanarF, эквивалентного зеленому каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destB
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения PlanarF, эквивалентного синему каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Исходное изображение, и
destA
,destR
,destG
, иdestB
целевые буферы, должен иметь ту же высоту и ту же ширину. Эта функция работает на месте на один целевой буфер. Другие должны быть выделены отдельно.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Преобразовывает изображение BGRA8888 с четырьмя каналами в изображение BGR888 с тремя каналами путем удаления альфа-канала.
Объявление
Objective C
vImage_Error vImageConvert_BGRA8888toBGR888 ( const vImage_Buffer *bgraSrc, const vImage_Buffer *bgrDest, vImage_Flags flags );
Параметры
bgraSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
bgrDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сbgraSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные в формате BGR888. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Красные, зеленые, и синие каналы просто копируются. Эта функция может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.8 и позже.
-
Преобразовывает изображение RGBA8888 с четырьмя каналами в изображение BGR888 с тремя каналами путем удаления альфа-канала.
Объявление
Objective C
vImage_Error vImageConvert_RGBA8888toBGR888 ( const vImage_Buffer *rgbaSrc, const vImage_Buffer *bgrDest, vImage_Flags flags );
Параметры
rgbaSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
bgrDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сargbSrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные в формате BGR888. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Красные, зеленые, и синие каналы просто копируются. Эта функция может использоваться на месте.
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.8 и позже.
-
Разделяет изображение RGB565 на три изображения Planar8.
Объявление
Swift
func vImageConvert_RGB565toPlanar8(_
src
: UnsafePointer<vImage_Buffer>, _destR
: UnsafePointer<vImage_Buffer>, _destG
: UnsafePointer<vImage_Buffer>, _destB
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_RGB565toPlanar8 ( const vImage_Buffer *src, const vImage_Buffer *destR, const vImage_Buffer *destG, const vImage_Buffer *destB, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите разделить.
destR
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного красному каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destG
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного зеленому каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.destB
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного синему каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Формат RGB565 имеет 16-разрядные пиксели с 5 битами для красного, 6 для зеленого, и 5 для синего. Функция вычисляет пиксели в конечном изображении следующим образом:
Pixel8 red = (5bitRedChannel * 255 + 15) / 31
Pixel8 green = (6bitGreenChannel * 255 + 31) / 63
Pixel8 blue = (5bitBlueChannel * 255 + 15) / 31
Эта функция работает на месте на один целевой буфер. Необходимо выделить другие отдельно.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение RGB565 в изображение ARGB8888, с помощью предоставленного 8-разрядного альфа-значения.
Объявление
Swift
func vImageConvert_RGB565toARGB8888(_
alpha
: Pixel_8, _src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_RGB565toARGB8888 ( Pixel_8 alpha, const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
alpha
Значение типа
Pixel_8
чтобы использоваться в качестве альфы оценивают за все пиксели в конечном изображении.src
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. Целевой буфер данных может совпасть сsrc
буфер данных. По возврату буфер данных, на который указывает эта структура, содержит целевые данные, преобразованные в формат ARGB8888.. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Формат RGB565 имеет 16-разрядные пиксели с 5 битами для красного, 6 для зеленого, и 5 для синего. Функция вычисляет пиксели в конечном изображении следующим образом:
Pixel8 alpha = alpha
Pixel8 red = (5bitRedChannel * 255 + 15) / 31
Pixel8 green = (6bitGreenChannel * 255 + 31) / 63
Pixel8 blue = (5bitBlueChannel * 255 + 15) / 31
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение RGB888 в изображение ARGB8888, с помощью предоставленного альфа-значения (или как планарного или пиксельные данные).
Объявление
Swift
func vImageConvert_RGB888toARGB8888(_
rgbSrc
: UnsafePointer<vImage_Buffer>, _aSrc
: UnsafePointer<vImage_Buffer>, _alpha
: Pixel_8, _argbDest
: UnsafePointer<vImage_Buffer>, _premultiply
: Bool, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_RGB888toARGB8888 ( const vImage_Buffer *, const vImage_Buffer *, Pixel_8, const vImage_Buffer *, bool, vImage_Flags );
Параметры
rgbSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
aSrc
Указатель на vImage буферизует структуру, содержащую альфа-плоскость Planar8 для использования в качестве альфа-значений для в конечном изображении. Если Вы передаете
NULL
, функция присваивает значениеalpha
параметр для всех пикселей в конечном изображении.alpha
Альфа-значение для всех пикселей в конечном изображении. Функция игнорирует это значение если
aSrc
параметр неNULL
.argbDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные преобразованного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.premultiply
Передача
YES
true
если данные предварительно умножаются на альфа-значение;NO
false
иначе.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
При указании предварительно умноженных данных функция вычисляет каждый канал в конечном изображении следующим образом:
(alpha * sourceValue + 127) / 255
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение RGB888 с тремя каналами в изображение BGRA8888 с четырьмя каналами, с дополнительным умножением в обратном порядке.
Объявление
Swift
func vImageConvert_RGB888toBGRA8888(_
rgbSrc
: UnsafePointer<vImage_Buffer>, _aSrc
: UnsafePointer<vImage_Buffer>, _alpha
: Pixel_8, _bgraDest
: UnsafePointer<vImage_Buffer>, _premultiply
: Bool, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_RGB888toBGRA8888 ( const vImage_Buffer *, const vImage_Buffer *, Pixel_8, const vImage_Buffer *, bool, vImage_Flags );
Параметры
rgbSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
aSrc
Указатель на vImage буферизует структуру, содержащую альфа-плоскость Planar8 для использования в качестве альфа-значений для в конечном изображении. Если Вы передаете
NULL
, функция присваивает значениеalpha
параметр для всех пикселей в конечном изображении.alpha
Альфа-значение для всех пикселей в конечном изображении. Функция игнорирует это значение если
aSrc
параметр неNULL
.bgraDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные преобразованного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.premultiply
Передача
YES
true
если данные должны быть предварительно умножены на альфа-значение;NO
false
иначе.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция не может использоваться на месте.
Если предварительно умножаются, истина, то эта функция вычисляет
r = (a * r + 127) / 255
,g = (a * g + 127) / 255
, иb = (a * b + 127) / 255
. Иначе, эта функция копирует плоскости как есть.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.8 и позже.
-
Преобразовывает изображение RGB888 с тремя каналами в изображение RGBA8888 с четырьмя каналами, с дополнительным умножением в обратном порядке.
Объявление
Swift
func vImageConvert_RGB888toRGBA8888(_
rgbSrc
: UnsafePointer<vImage_Buffer>, _aSrc
: UnsafePointer<vImage_Buffer>, _alpha
: Pixel_8, _rgbaDest
: UnsafePointer<vImage_Buffer>, _premultiply
: Bool, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_RGB888toRGBA8888 ( const vImage_Buffer *, const vImage_Buffer *, Pixel_8, const vImage_Buffer *, bool, vImage_Flags );
Параметры
rgbSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
aSrc
Указатель на vImage буферизует структуру, содержащую альфа-плоскость Planar8 для использования в качестве альфа-значений для в конечном изображении. Если Вы передаете
NULL
, функция присваивает значениеalpha
параметр для всех пикселей в конечном изображении.alpha
Альфа-значение для всех пикселей в конечном изображении. Функция игнорирует это значение если
aSrc
параметр неNULL
.rgbaDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные преобразованного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.premultiply
Передача
YES
true
если данные должны быть предварительно умножены на альфа-значение;NO
false
иначе.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция не может использоваться на месте.
Если предварительно умножаются, истина, то эта функция вычисляет
r = (a * r + 127) / 255
,g = (a * g + 127) / 255
, иb = (a * b + 127) / 255
. Иначе, эта функция копирует плоскости как есть.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.8 и позже.
-
Разделяет изображение RGB888 на три изображения Planar8.
Объявление
Swift
func vImageConvert_RGB888toPlanar8(_
rgbSrc
: UnsafePointer<vImage_Buffer>, _redDest
: UnsafePointer<vImage_Buffer>, _greenDest
: UnsafePointer<vImage_Buffer>, _blueDest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_RGB888toPlanar8 ( const vImage_Buffer *rgbSrc, const vImage_Buffer *redDest, const vImage_Buffer *greenDest, const vImage_Buffer *blueDest, vImage_Flags flags );
Параметры
rgbSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите разделить.
redDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного красному каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.greenDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного зеленому каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.blueDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения Planar8, эквивалентного синему каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Исходное изображение и целевые буферы, должен все иметь ту же высоту и ту же ширину. Эта функция работает на месте на один целевой буфер. Необходимо выделить другие отдельно.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Разделяет изображение RGBFFF на три изображения PlanarF.
Объявление
Swift
func vImageConvert_RGBFFFtoPlanarF(_
rgbSrc
: UnsafePointer<vImage_Buffer>, _redDest
: UnsafePointer<vImage_Buffer>, _greenDest
: UnsafePointer<vImage_Buffer>, _blueDest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageConvert_RGBFFFtoPlanarF ( const vImage_Buffer *rgbSrc, const vImage_Buffer *redDest, const vImage_Buffer *greenDest, const vImage_Buffer *blueDest, vImage_Flags flags );
Параметры
rgbSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите разделить.
redDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения PlanarF, эквивалентного красному каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.greenDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения PlanarF, эквивалентного зеленому каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.blueDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные для изображения PlanarF, эквивалентного синему каналу исходного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Исходное изображение и целевые буферы, должен все иметь ту же высоту и ту же ширину. Эта функция работает на месте на один целевой буфер. Вы должны, выделил другие отдельно.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Преобразовывает изображение BGR888 с тремя каналами в изображение BGRA8888 с четырьмя каналами, с дополнительным умножением в обратном порядке.
Объявление
Objective C
vImage_Error vImageConvert_BGR888toBGRA8888 ( const vImage_Buffer *bgrSrc, const vImage_Buffer *aSrc, Pixel_8 alpha, const vImage_Buffer *rgbaDest, bool premultiply, vImage_Flags flags );
Параметры
bgrSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
aSrc
Указатель на vImage буферизует структуру, содержащую альфа-плоскость Planar8 для использования в качестве альфа-значений для в конечном изображении. Если Вы передаете
NULL
, функция присваивает значениеalpha
параметр для всех пикселей в конечном изображении.alpha
Альфа-значение для всех пикселей в конечном изображении. Функция игнорирует это значение если
aSrc
параметр неNULL
.rgbaDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные преобразованного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.premultiply
Передача
YES
true
если данные должны быть предварительно умножены на альфа-значение;NO
false
иначе.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция не может использоваться на месте.
Если предварительно умножаются, истина, то эта функция вычисляет
r = (a * r + 127) / 255
,g = (a * g + 127) / 255
, иb = (a * b + 127) / 255
. Иначе, эта функция копирует плоскости как есть.Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.8 и позже.
-
Преобразовывает изображение BGR888 с тремя каналами в изображение RGBA8888 с четырьмя каналами, с дополнительным умножением в обратном порядке.
Объявление
Objective C
vImage_Error vImageConvert_BGR888toRGBA8888 ( const vImage_Buffer *bgrSrc, const vImage_Buffer *aSrc, Pixel_8 alpha, const vImage_Buffer *bgraDest, bool premultiply, vImage_Flags flags );
Параметры
bgrSrc
Указатель на vImage буферизует структуру, содержащую исходное изображение, данные которого Вы хотите преобразовать.
aSrc
Указатель на vImage буферизует структуру, содержащую альфа-плоскость Planar8 для использования в качестве альфа-значений для в конечном изображении. Если Вы передаете
NULL
, функция присваивает значениеalpha
параметр для всех пикселей в конечном изображении.alpha
Альфа-значение для всех пикселей в конечном изображении. Функция игнорирует это значение если
aSrc
параметр неNULL
.bgraDest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные преобразованного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.premultiply
Передача
YES
true
если данные должны быть предварительно умножены на альфа-значение;NO
false
иначе.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция не может использоваться на месте.
Если предварительно умножаются, истина, то эта функция вычисляет
r = (a * r + 127) / 255
,g = (a * g + 127) / 255
, иb = (a * b + 127) / 255
. Иначе, эта функция копирует плоскости как есть.Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.8 и позже.