Ссылка Преобразования 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 );Параметры
Возвращаемое значение
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 );Параметры
scalar8-разрядное пиксельное значение.
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 );Параметры
scalar8-разрядное пиксельное значение.
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буфер данных. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Целевой буфер может совпасть с исходным буфером.backgroundColor8-разрядное чередованное пиксельное значение.
isImagePremultipliedTRUEесли исходное изображение использует предварительно умноженные данные,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 * 255Pixel8 red = (5bitRedChannel * 255 + 15) / 31Pixel8 green = (5bitGreenChannel * 255 + 15) / 31Pixel8 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) / 255uint32_t blue = (8bitBlueChannel * 31 + 127) / 255uint16_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 < minFloatnewPixel = 0
if minfloat <= oldPixel <= maxFloatnewPixel = (oldPixel - minFloat) * 255.0f / (maxFloat - minFloat)
if oldPixel > maxFloatnewPixel = 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 * 255Pixel8 red = (5bitRedChannel * 255 + 15) / 31Pixel8 green = (5bitGreenChannel * 255 + 15) / 31Pixel8 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 * 255Pixel8 red = (5bitRedChannel * 255 + 15) / 31Pixel8 green = (5bitGreenChannel * 255 + 15) / 31Pixel8 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) / 255uint32_t red = (8bitRedChannel * 31 + 127) / 255uint32_t green = (8bitGreenChannel * 31 + 127) / 255uint32_t blue = (8bitBlueChannel * 31 + 127) / 255uint16_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) / 255uint32_t blue = (8bitBlueChannel * 31 + 127) / 255uint16_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) / 31Pixel8 green = (6bitGreenChannel * 255 + 31) / 63Pixel8 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 = alphaPixel8 red = (5bitRedChannel * 255 + 15) / 31Pixel8 green = (6bitGreenChannel * 255 + 31) / 63Pixel8 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Передача
YEStrueесли данные предварительно умножаются на альфа-значение;NOfalseиначе.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Передача
YEStrueесли данные должны быть предварительно умножены на альфа-значение;NOfalseиначе.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Передача
YEStrueесли данные должны быть предварительно умножены на альфа-значение;NOfalseиначе.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Передача
YEStrueесли данные должны быть предварительно умножены на альфа-значение;NOfalseиначе.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Передача
YEStrueесли данные должны быть предварительно умножены на альфа-значение;NOfalseиначе.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 и позже.
