Альфа-Ссылка Составления композита vImage
Альфа-составление композита (также известный как альфа-смешивание) является процессом разделения на уровни повторных изображений с альфа-значением для пикселя в данном уровне, указывающем, какая часть цветов от нижних уровней замечены через цвет на данном уровне. Функции, описанные в этой ссылке, воздействуют на альфа-значения пикселей или путем смешивания альфа-значений или отсечения их.
Большая часть альфы, составляющей функции, смешивает два входных изображения — главное изображение и нижнее изображение — для создания составного изображения. vImage платформа вычисляет альфа-значения составного изображения от альфа-значений входных изображений. Некоторые функции воздействуют на чередованные форматы (ARGB8888, ARGBFFFF, RGBA8888, RGBAFFFF), в то время как другие воздействуют на планарные форматы. Чередованные форматы содержат альфа-значение для каждого пикселя, но планарные форматы не делают. Для выполнения альфы, составляющей композит с планарными изображениями, необходимо предоставить альфа-информацию отдельно.
Альфа-функции составления композита по умолчанию выполняют мозаичное размещение внутренне и могут мультираспараллелить внутренне также. Если Вы планируете выполнить свое собственное мозаичное размещение или многопоточность, необходимо выключить vImage внутреннее мозаичное размещение и многопоточность путем предоставления kvImageDoNotTile
отметьте как опция к функциям, которые Вы используете.
vImage платформа обеспечивает функции для альфы, составляющей композит и для предварительно умноженного альфа-случая и для nonpremultiplied альфа-случая. OS X v10.4 добавляет некоторые альфа-функции составления композита для общих смешанных случаев. Предварительное умножение пиксельных значений цвета связанной альфой оценивает результаты в большей вычислительной эффективности, чем обеспечение nonpremultiplied данные, особенно при составлении композита больше чем двух изображений. При использовании предварительно умноженной альфы все еще необходимо поддержать исходную информацию об альфе, так, чтобы можно было получить оригинал, nonpremultiplied значения пикселей при необходимости в них. Также необходимо предоставить исходное альфа-значение для нижнего слоя в составляющей композит работе.
Для форматов с плавающей точкой можно умножить значение цвета на альфа-значение непосредственно. Для целочисленных форматов, в которых оба значения находятся в диапазоне от 0 до 255, Вы умножаете цвет и альфа-значения, тогда необходимо масштабировать результат так, чтобы это было в от 0 до 255 диапазонов. Масштабирующееся вычисление:
scaledColor = (alpha * color + 127) / 255
Альфа, составляющая функции, использует буферную структуру vImage (vImage_Buffer
— см. vImage Ссылку Типов данных и Констант) получить и предоставить данные изображения. Этот буфер содержит указатель на данные изображения, высоту и ширину (в пикселях) данных изображения и числа байтов строки. Вы фактически передаете указатель на буферную структуру vImage. Можно обеспечить указатель на ту же буферную структуру vImage для одного из исходных изображений и конечного изображения, потому что альфа-составление композита функционирует “работа на месте”. Т.е. исходные и конечные изображения могут занять ту же память, если они являются строго выровненным пикселем для пикселя.
-
Выполняет nonpremultiplied альфа-составление композита двух изображений ARGBFFFF, помещая результат в целевой буфер.
Объявление
Swift
func vImageAlphaBlend_ARGBFFFF(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageAlphaBlend_ARGBFFFF ( const vImage_Buffer *srcTop, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Вычисление для каждого цветового канала:
resultAlpha = topAlpha + (1.0f - topAlpha) * bottomAlpha
resultColor = (topAlpha * topColor + (1.0f - topAlpha)
* bottomAlpha * bottomColor) / resultAlpha
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Выполняет nonpremultiplied альфа-составление композита двух изображений ARGB8888, помещая результат в целевой буфер.
Объявление
Swift
func vImageAlphaBlend_ARGB8888(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageAlphaBlend_ARGB8888 ( const vImage_Buffer *srcTop, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Вычисление для каждого цветового канала:
resultAlpha = (topAlpha * 255 + (255 - topAlpha)
* bottomAlpha + 127) / 255
resultColor = (topAlpha * topColor + (((255 - topAlpha)
* bottomAlpha + 127) / 255) * bottomColor + 127)
/ resultAlpha
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Выполняет nonpremultiplied альфа-составление композита двух изображений PlanarF, помещая результат в целевой буфер.
Объявление
Swift
func vImageAlphaBlend_PlanarF(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcTopAlpha
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _srcBottomAlpha
: UnsafePointer<vImage_Buffer>, _alpha
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageAlphaBlend_PlanarF ( const vImage_Buffer *srcTop, const vImage_Buffer *srcTopAlpha, const vImage_Buffer *srcBottom, const vImage_Buffer *srcBottomAlpha, const vImage_Buffer *alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
srcTopAlpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
srcBottomAlpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений нижнего исходного изображения.
alpha
Указатель на vImage буферизует структуру, содержащую данные для предрасчетных альфа-значений составного изображения. Необходимо предварительно вычислить эти значения путем вызывания функции
vPremultipliedAlphaBlend_PlanarF
. Посмотрите Обсуждение для подробных данных об использовании этой функции.dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для источника, альфа-значений, места назначения и составных альфа-значений должны содержать ту же высоту и ширину.
По причинам производительности эта функция не вычисляет альфа-значения для составного изображения; необходимо обеспечить их. Вы будете обычно вызывать эту функцию три раза, один раз для каждого цветового канала (красный, зеленый, синий). Поскольку каждый вызов использует то же альфа-значение, намного более эффективно для Вас предварительно вычислить альфа-значения с помощью функции
vImagePremultipliedAlphaBlend_PlanarF
, вместо того, чтобы иметь вычисление повторился три разаvImageAlphaBlend_PlanarF
функция. Вызовите функциюvPremultipliedAlphaBlend_PlanarF
использование показанных параметров:vImagePremultipliedAlphaBlend_PlanarF(srcTopAlpha,
srcTopAlpha, // Yes, use this twice
srcBottomAlpha,
alpha, //On return, contains the composite alpha values
kvImageNoFlags );
После вызова
vPremultipliedAlphaBlend_PlanarF
функция, получающиеся значения для каждого цветового канала:resultAlpha = topAlpha + (1.0f - topAlpha) * bottomAlpha
resultColor = (topAlpha * topColor + (1.0f - topAlpha)
* bottomAlpha * bottomColor) / resultAlpha
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Выполняет nonpremultiplied альфа-составление композита двух изображений Planar8, помещая результат в целевой буфер.
Объявление
Swift
func vImageAlphaBlend_Planar8(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcTopAlpha
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _srcBottomAlpha
: UnsafePointer<vImage_Buffer>, _alpha
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageAlphaBlend_Planar8 ( const vImage_Buffer *srcTop, const vImage_Buffer *srcTopAlpha, const vImage_Buffer *srcBottom, const vImage_Buffer *srcBottomAlpha, const vImage_Buffer *alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
srcTopAlpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
srcBottomAlpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений нижнего исходного изображения.
alpha
Указатель на vImage буферизует структуру, содержащую данные для предрасчетных альфа-значений составного изображения. Необходимо предварительно вычислить эти значения путем вызывания функции
vPremultipliedAlphaBlend_PlanarF
. Посмотрите Обсуждение для подробных данных об использовании этой функции.dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для источника, альфа-значений, места назначения и составных альфа-значений должны содержать ту же высоту и ширину.
По причинам производительности эта функция не вычисляет альфа-значения для составного изображения; необходимо обеспечить их. Вы будете обычно вызывать эту функцию три раза, один раз для каждого цветового канала (красный, зеленый, синий). Поскольку каждый вызов использует то же альфа-значение, намного более эффективно для Вас предварительно вычислить альфа-значения с помощью функции
vImagePremultipliedAlphaBlend_Planar8
, вместо того, чтобы иметь вычисление повторился три разаvImageAlphaBlend_Planar8
функция. Вызовите функциюvPremultipliedAlphaBlend_Planar8
использование показанных параметров:vImagePremultipliedAlphaBlend_Planar8(srcTopAlpha,
srcTopAlpha, // Yes, use this twice
srcBottomAlpha,
alpha, //On return, contains the composite alpha values
kvImageNoFlags );
После вызова
vPremultipliedAlphaBlend_Planar8
функция, получающиеся значения для каждого цветового канала:resultAlpha = topAlpha + (1.0f - topAlpha) * bottomAlpha
resultColor = (topAlpha * topColor + (1.0f - topAlpha)
* bottomAlpha * bottomColor) / resultAlpha
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Выполняет предварительно умноженное альфа-составление композита двух изображений ARGBFFFF, помещая результат в целевой буфер.
Объявление
Swift
func vImagePremultipliedAlphaBlend_ARGBFFFF(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultipliedAlphaBlend_ARGBFFFF ( const vImage_Buffer *srcTop, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Выполняет предварительно умноженное альфа-составление композита двух изображений ARGB8888, помещая результат в целевой буфер.
Объявление
Swift
func vImagePremultipliedAlphaBlend_ARGB8888(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultipliedAlphaBlend_ARGB8888 ( const vImage_Buffer *srcTop, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Выполняет предварительно умноженное альфа-составление композита двух изображений PlanarF, помещая результат в целевой буфер.
Объявление
Swift
func vImagePremultipliedAlphaBlend_PlanarF(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcTopAlpha
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultipliedAlphaBlend_PlanarF ( const vImage_Buffer *srcTop, const vImage_Buffer *srcTopAlpha, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
srcTopAlpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений главного исходного изображения. Даже при том, что альфа-значения уже предварительно умножаются в пиксельные значения, функция также запрашивает исходную альфа-информацию для главного изображения, чтобы сделать его вычисления. Нет никакого способа извлечь эту информацию из предварительно умноженных планарных значений, таким образом, необходимо обеспечить ее.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Выполняет предварительно умноженное альфа-составление композита двух изображений Planar8, помещая результат в целевой буфер.
Объявление
Swift
func vImagePremultipliedAlphaBlend_Planar8(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcTopAlpha
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultipliedAlphaBlend_Planar8 ( const vImage_Buffer *srcTop, const vImage_Buffer *srcTopAlpha, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
srcTopAlpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений главного исходного изображения. Даже при том, что альфа-значения уже предварительно умножаются в пиксельные значения, функция также запрашивает исходную альфа-информацию для главного изображения, чтобы сделать его вычисления. Нет никакого способа извлечь эту информацию из предварительно умноженных планарных значений, таким образом, необходимо обеспечить ее.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Выполняет предварительно умноженное альфа-составление композита двух изображений BGRA8888, помещая результат в целевой буфер.
Объявление
Swift
func vImagePremultipliedAlphaBlend_BGRA8888(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultipliedAlphaBlend_BGRA8888 ( const vImage_Buffer *srcTop, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
Выполняет предварительно умноженное альфа-составление композита двух изображений BGRAFFFF, помещая результат в целевой буфер.
Объявление
Swift
func vImagePremultipliedAlphaBlend_BGRAFFFF(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultipliedAlphaBlend_BGRAFFFF ( const vImage_Buffer *srcTop, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.6 и позже.
-
vImagePremultipliedConstAlphaBlend_ARGBFFFF (_: _: _: _: _:) vImagePremultipliedConstAlphaBlend_ARGBFFFF
Выполняет предварительно умноженное альфа-составление композита двух изображений ARGBFFFF, использование единственного альфа-значения для целого изображения и размещения результата в целевом буфере.
Объявление
Swift
func vImagePremultipliedConstAlphaBlend_ARGBFFFF(_
srcTop
: UnsafePointer<vImage_Buffer>, _constAlpha
: Pixel_F, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultipliedConstAlphaBlend_ARGBFFFF ( const vImage_Buffer *srcTop, Pixel_F constAlpha, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
constAlpha
Альфа-значение Вы хотите примениться к изображению.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImagePremultipliedConstAlphaBlend_ARGB8888 (_: _: _: _: _:) vImagePremultipliedConstAlphaBlend_ARGB8888
Выполняет предварительно умноженное альфа-составление композита двух изображений ARGB8888, использование единственного альфа-значения для целого изображения и размещения результата в целевом буфере.
Объявление
Swift
func vImagePremultipliedConstAlphaBlend_ARGB8888(_
srcTop
: UnsafePointer<vImage_Buffer>, _constAlpha
: Pixel_8, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultipliedConstAlphaBlend_ARGB8888 ( const vImage_Buffer *srcTop, Pixel_8 constAlpha, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
constAlpha
Альфа-значение Вы хотите примениться к изображению.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImagePremultipliedConstAlphaBlend_PlanarF (_: _: _: _: _: _:) vImagePremultipliedConstAlphaBlend_PlanarF
Выполняет предварительно умноженное альфа-составление композита двух PlanarF изображения, использование единственного альфа-значения для целого изображения и размещения результата в целевом буфере.
Объявление
Swift
func vImagePremultipliedConstAlphaBlend_PlanarF(_
srcTop
: UnsafePointer<vImage_Buffer>, _constAlpha
: Pixel_F, _srcTopAlpha
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultipliedConstAlphaBlend_PlanarF ( const vImage_Buffer *srcTop, Pixel_F constAlpha, const vImage_Buffer *srcTopAlpha, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
constAlpha
Альфа-значение Вы хотите примениться к изображению.
srcTopAlpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений главного исходного изображения. Даже при том, что альфа-значения уже предварительно умножаются в пиксельные значения, функция также запрашивает исходную альфа-информацию для главного изображения, чтобы сделать его вычисления. Нет никакого способа извлечь эту информацию из предварительно умноженных планарных значений, таким образом, необходимо обеспечить ее.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImagePremultipliedConstAlphaBlend_Planar8 (_: _: _: _: _: _:) vImagePremultipliedConstAlphaBlend_Planar8
Выполняет предварительно умноженное альфа-составление композита двух изображений Planar8, использование единственного альфа-значения для всего изображения и размещения результата в целевом буфере.
Объявление
Swift
func vImagePremultipliedConstAlphaBlend_Planar8(_
srcTop
: UnsafePointer<vImage_Buffer>, _constAlpha
: Pixel_8, _srcTopAlpha
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultipliedConstAlphaBlend_Planar8 ( const vImage_Buffer *srcTop, Pixel_8 constAlpha, const vImage_Buffer *srcTopAlpha, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
constAlpha
Альфа-значение Вы хотите примениться к изображению.
srcTopAlpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений главного исходного изображения. Даже при том, что альфа-значения уже предварительно умножаются в пиксельные значения, функция также запрашивает исходную альфа-информацию для главного изображения, чтобы сделать его вычисления. Нет никакого способа извлечь эту информацию из предварительно умноженных планарных значений, таким образом, необходимо обеспечить ее.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных и конечных изображений должны использовать ту же высоту и ширину.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGBFFFF (_: _: _: _:) vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGBFFFF
Выполняет смешанное альфа-составление композита nonpremultiplied ARGBFFFF изображение по предварительно умноженному изображению ARGBFFFF, помещая предварительно умноженный результат в целевой буфер.
Объявление
Swift
func vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGBFFFF(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGBFFFF ( const vImage_Buffer *srcTop, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных изображений должны быть, по крайней мере, столь же широкими и по крайней мере настолько же высоко как целевой буфер.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGB8888 (_: _: _: _:) vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGB8888
Выполняет смешанное альфа-составление композита изображения nonpremultiplied ARGB8888 по предварительно умноженному изображению ARGB8888, помещая предварительно умноженный результат в целевой буфер.
Объявление
Swift
func vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGB8888(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageAlphaBlend_NonpremultipliedToPremultiplied_ARGB8888 ( const vImage_Buffer *srcTop, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных изображений должны быть, по крайней мере, столь же широкими и по крайней мере настолько же высоко как целевой буфер.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImageAlphaBlend_NonpremultipliedToPremultiplied_PlanarF (_: _: _: _: _:) vImageAlphaBlend_NonpremultipliedToPremultiplied_PlanarF
Выполняет смешанное альфа-составление композита изображения nonpremultiplied PlanarF по предварительно умноженному изображению PlanarF, помещая предварительно умноженный результат в целевой буфер.
Объявление
Swift
func vImageAlphaBlend_NonpremultipliedToPremultiplied_PlanarF(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcTopAlpha
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageAlphaBlend_NonpremultipliedToPremultiplied_PlanarF ( const vImage_Buffer *srcTop, const vImage_Buffer *srcTopAlpha, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
srcTopAlpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных изображений должны быть, по крайней мере, столь же широкими и по крайней мере настолько же высоко как целевой буфер.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImageAlphaBlend_NonpremultipliedToPremultiplied_Planar8 (_: _: _: _: _:) vImageAlphaBlend_NonpremultipliedToPremultiplied_Planar8
Выполняет смешанное альфа-составление композита изображения nonpremultiplied Planar8 по предварительно умноженному изображению Planar8, помещая предварительно умноженный результат в целевой буфер.
Объявление
Swift
func vImageAlphaBlend_NonpremultipliedToPremultiplied_Planar8(_
srcTop
: UnsafePointer<vImage_Buffer>, _srcTopAlpha
: UnsafePointer<vImage_Buffer>, _srcBottom
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageAlphaBlend_NonpremultipliedToPremultiplied_Planar8 ( const vImage_Buffer *srcTop, const vImage_Buffer *srcTopAlpha, const vImage_Buffer *srcBottom, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
srcTop
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
srcTopAlpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений главного исходного изображения.
srcBottom
Указатель на vImage буферизует структуру, содержащую данные для нижнего исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Буферные структуры vImage для исходных изображений должны быть, по крайней мере, столь же широкими и по крайней мере настолько же высоко как целевой буфер.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Берет изображение ARGBFFFF в nonpremultiplied альфа-формате и преобразовывает его в изображение в предварительно умноженном альфа-формате.
Объявление
Swift
func vImagePremultiplyData_ARGBFFFF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultiplyData_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция получает требуемую альфа-информацию от альфа-канала исходного изображения. Альфа-канал копируется по неизменному в конечное изображение.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Берет изображение RGBAFFFF в nonpremultiplied альфа-формате и преобразовывает его в изображение в предварительно умноженном альфа-формате.
Объявление
Swift
func vImagePremultiplyData_RGBAFFFF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultiplyData_RGBAFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция получает требуемую альфа-информацию от альфа-канала исходного изображения. Альфа-канал копируется по неизменному в конечное изображение.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Берет изображение ARGB8888 в nonpremultiplied альфа-формате и преобразовывает его в изображение в предварительно умноженном альфа-формате.
Объявление
Swift
func vImagePremultiplyData_ARGB8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultiplyData_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция получает требуемую альфа-информацию от альфа-канала исходного изображения. Альфа-канал копируется по неизменному в конечное изображение.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Берет изображение RGBA8888 в nonpremultiplied альфа-формате и преобразовывает его в изображение в предварительно умноженном альфа-формате.
Объявление
Swift
func vImagePremultiplyData_RGBA8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultiplyData_RGBA8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция получает требуемую альфа-информацию от альфа-канала исходного изображения. Альфа-канал копируется по неизменному в конечное изображение.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Берет изображение PlanarF в nonpremultiplied альфа-формате, вместе с информацией об альфе, и преобразовывает его в изображение в предварительно умноженном альфа-формате.
Объявление
Swift
func vImagePremultiplyData_PlanarF(_
src
: UnsafePointer<vImage_Buffer>, _alpha
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultiplyData_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
alpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Берет изображение Planar8 в nonpremultiplied альфа-формате, вместе с информацией об альфе, и преобразовывает его в изображение в предварительно умноженном альфа-формате.
Объявление
Swift
func vImagePremultiplyData_Planar8(_
src
: UnsafePointer<vImage_Buffer>, _alpha
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePremultiplyData_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
alpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений исходного изображения. Планарное исходное изображение не содержит свою собственную информацию об альфе, таким образом, необходимо предоставить альфа-информацию.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Берет изображение ARGBFFFF в предварительно умноженном альфа-формате и преобразовывает его в изображение в nonpremultiplied альфа-формате.
Объявление
Swift
func vImageUnpremultiplyData_ARGBFFFF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageUnpremultiplyData_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция получает требуемую альфа-информацию от альфа-канала исходного изображения. Альфа-канал копируется по неизменному в конечное изображение.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Берет изображение RGBAFFFF в предварительно умноженном альфа-формате и преобразовывает его в изображение в nonpremultiplied альфа-формате.
Объявление
Swift
func vImageUnpremultiplyData_RGBAFFFF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageUnpremultiplyData_RGBAFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция получает требуемую альфа-информацию от альфа-канала исходного изображения. Альфа-канал копируется по неизменному в конечное изображение.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Берет изображение ARGB8888 в предварительно умноженном альфа-формате и преобразовывает его в изображение в nonpremultiplied альфа-формате.
Объявление
Swift
func vImageUnpremultiplyData_ARGB8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageUnpremultiplyData_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую nonpremultiplied данные для главного исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция получает требуемую альфа-информацию от альфа-канала исходного изображения. Альфа-канал копируется по неизменному в конечное изображение.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Берет изображение RGBA8888 в предварительно умноженном альфа-формате и преобразовывает его в изображение в nonpremultiplied альфа-формате.
Объявление
Swift
func vImageUnpremultiplyData_RGBA8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageUnpremultiplyData_RGBA8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую предварительно умноженные данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Эта функция получает требуемую альфа-информацию от альфа-канала исходного изображения. Альфа-канал копируется по неизменному в конечное изображение.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Берет изображение PlanarF в предварительно умноженном альфа-формате, вместе с информацией об альфе, и преобразовывает его в изображение в nonpremultiplied альфа-формате.
Объявление
Swift
func vImageUnpremultiplyData_PlanarF(_
src
: UnsafePointer<vImage_Buffer>, _alpha
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageUnpremultiplyData_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую предварительно умноженные данные для исходного изображения.]
alpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений исходного изображения. Планарное исходное изображение не содержит свою собственную информацию об альфе, таким образом, необходимо предоставить альфа-информацию.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Берет изображение Planar8 в предварительно умноженном альфа-формате, вместе с информацией об альфе, и преобразовывает его в изображение в nonpremultiplied альфа-формате.
Объявление
Swift
func vImageUnpremultiplyData_Planar8(_
src
: UnsafePointer<vImage_Buffer>, _alpha
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageUnpremultiplyData_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую предварительно умноженные данные для исходного изображения.]
alpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений исходного изображения. Планарное исходное изображение не содержит свою собственную информацию об альфе, таким образом, необходимо предоставить альфа-информацию.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Устанавливает цветовой канал каждого пикселя в изображении Planar8 к меньшим из двух значений — или цветовой канал или альфа-значение для того пикселя.
Объявление
Swift
func vImageClipToAlpha_Planar8(_
src
: UnsafePointer<vImage_Buffer>, _alpha
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageClipToAlpha_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для главного исходного изображения.
alpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений исходного изображения. Планарное исходное изображение не содержит свою собственную информацию об альфе, таким образом, необходимо предоставить альфа-информацию.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Для каждого пикселя:
alpha_result = sourceAlpha;
color_result = MIN(sourceColor, sourceAlpha);
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Устанавливает цветовой канал каждого пикселя в изображении ARGB8888 к меньшим из двух значений — или цветовой канал или альфа-значение для того пикселя.
Объявление
Swift
func vImageClipToAlpha_ARGB8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageClipToAlpha_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Для каждого пикселя:
alpha_result = sourceAlpha;
color_result = MIN(sourceColor, sourceAlpha);
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Устанавливает цветовой канал каждого пикселя в изображении PlanarF к меньшим из двух значений — или цветовой канал или альфа-значение для того пикселя.
Объявление
Swift
func vImageClipToAlpha_PlanarF(_
src
: UnsafePointer<vImage_Buffer>, _alpha
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageClipToAlpha_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *alpha, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
alpha
Указатель на vImage буферизует структуру, содержащую данные для альфа-значений исходного изображения. Планарное исходное изображение не содержит свою собственную информацию об альфе, таким образом, необходимо предоставить альфа-информацию.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Для каждого пикселя:
alpha_result = sourceAlpha;
color_result = MIN(sourceColor, sourceAlpha);
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Устанавливает цветовой канал каждого пикселя в изображении ARGBFFFF к меньшим из двух значений — или цветовой канал или альфа-значение для того пикселя.
Объявление
Swift
func vImageClipToAlpha_ARGBFFFF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageClipToAlpha_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.flags
Опции использовать при выполнении составления композита. Передача
kvImageDoNotTile
если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.Возвращаемое значение
kvImageNoError
, иначе один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Для каждого пикселя:
alpha_result = sourceAlpha;
color_result = MIN(sourceColor, sourceAlpha);
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
Некоторые связанные форматы могут быть обработаны с помощью тех же функций (например, RGBA8888 как BRGA8888). Они макросы формализуют это использование.
-
Выполняет предварительно умноженное альфа-составление композита двух изображений RGBA8888, помещая результат в целевой буфер.
Объявление
Objective C
#define vImagePremultipliedAlphaBlend_RGBA8888( _srcTop, _srcBottom, _dest, _flags ) \ vImagePremultipliedAlphaBlend_BGRA8888( _srcTop, _srcBottom, _dest, _flags )
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Выполняет предварительно умноженное альфа-составление композита двух изображений RGBAFFFF, помещая результат в целевой буфер.
Объявление
Objective C
#define vImagePremultipliedAlphaBlend_RGBAFFFF( _srcTop, _srcBottom, _dest, _flags ) \ vImagePremultipliedAlphaBlend_BGRAFFFF( _srcTop, _srcBottom, _dest, _flags )
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Берет изображение BGRA8888 в nonpremultiplied альфа-формате и преобразовывает его в изображение в предварительно умноженном альфа-формате.
Объявление
Objective C
#define vImagePremultiplyData_BGRA8888( _src, _dest, _flags ) \ vImagePremultiplyData_RGBA8888( _src, _dest, _flags )
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Берет изображение BGRAFFFF в nonpremultiplied альфа-формате и преобразовывает его в изображение в предварительно умноженном альфа-формате.
Объявление
Objective C
#define vImagePremultiplyData_BGRAFFFF( _src, _dest, _flags ) \ vImagePremultiplyData_RGBAFFFF( _src, _dest, _flags )
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Берет изображение BGRA8888 в предварительно умноженном альфа-формате и преобразовывает его в изображение в nonpremultiplied альфа-формате.
Объявление
Objective C
#define vImageUnpremultiplyData_BGRA8888( _src, _dest, _flags ) \ vImageUnpremultiplyData_RGBA8888( _src, _dest, _flags )
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Берет изображение BGRAFFFF в предварительно умноженном альфа-формате и преобразовывает его в изображение в nonpremultiplied альфа-формате.
Объявление
Objective C
#define vImageUnpremultiplyData_BGRAFFFF( _src, _dest, _flags ) \ vImageUnpremultiplyData_RGBAFFFF( _src, _dest, _flags )
Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.7 и позже.
См. также