Ссылка Фильтрации Распаковки vImage
vImage платформа обеспечивает одну функцию для фильтрации данных до распаковки.
-
Выполняет фильтрацию распаковки PNG.
Объявление
Swift
func vImagePNGDecompressionFilter(_
buffer
: UnsafePointer<vImage_Buffer>, _startScanline
: vImagePixelCount, _scanlineCount
: vImagePixelCount, _bitsPerPixel
: UInt32, _filterMethodNumber
: UInt32, _filterType
: UInt32, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImagePNGDecompressionFilter ( const vImage_Buffer *buffer, vImagePixelCount startScanline, vImagePixelCount scanlineCount, uint32_t bitsPerPixel, uint32_t filterMethodNumber, uint32_t filterType, vImage_Flags flags );
Параметры
buffer
На вводе, данные изображения для фильтрации. На выводе, отфильтрованных данных. Фильтрация всегда применяется на месте.
startScanline
Стартовая строка развертки.
scanlineCount
Число строк развертки в буфере.
bitsPerPixel
Биты на пиксель.
filterMethodNumber
Число метода фильтра. Необходимо передать
0
, потому что это - единственный метод фильтрации, предлагаемый этой функцией.filterType
Алгоритм фильтрации для применения к данным изображения. Для метода фильтра
0
, можно передать любую из констант, описанных в Типах Фильтра PNG.flags
Опции использовать при выполнении этой работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. См. vImage Ссылку Типов данных и Констант для полного описания vImage обрабатывающие флаги.Обсуждение
Эта функция реализует фильтрацию распаковки PNG для метода фильтра
0
из стандарта PNG разделите 9.2, как описано в: http://www .w3.org/TR/PNG-Filters.html. Когда пиксель, который необходим для вычисления фильтрации, выходит за пределы исходного буфера, его значение, как предполагают,0
.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
Алгоритмы фильтрации для применения к данным изображения прежде, чем сжать данные.
Объявление
Objective C
enum { kvImage_PNG_FILTER_VALUE_NONE = 0, kvImage_PNG_FILTER_VALUE_SUB = 1, kvImage_PNG_FILTER_VALUE_UP = 2, kvImage_PNG_FILTER_VALUE_AVG = 3, kvImage_PNG_FILTER_VALUE_PAETH = 4 };
Константы
-
kvImage_PNG_FILTER_VALUE_NONE
kvImage_PNG_FILTER_VALUE_NONE
Никакая фильтрация.
Доступный в OS X v10.4 и позже.
-
kvImage_PNG_FILTER_VALUE_SUB
kvImage_PNG_FILTER_VALUE_SUB
Фильтр, вычисляющий различие между каждым байтом пикселя и значением соответствующего байта пикселя, расположенного налево.
Доступный в OS X v10.4 и позже.
-
kvImage_PNG_FILTER_VALUE_UP
kvImage_PNG_FILTER_VALUE_UP
Фильтр, вычисляющий различие между каждым байтом пикселя и значением соответствующего байта пикселя, расположенного выше.
Доступный в OS X v10.4 и позже.
-
kvImage_PNG_FILTER_VALUE_AVG
kvImage_PNG_FILTER_VALUE_AVG
Фильтр, предсказывающий пиксельное значение от среднего числа пикселей налево и выше предсказанного пиксельного расположения.
Доступный в OS X v10.4 и позже.
-
kvImage_PNG_FILTER_VALUE_PAETH
kvImage_PNG_FILTER_VALUE_PAETH
Фильтр, предсказывающий пиксельное значение путем применения линейной функции к пикселям, расположенным налево, выше, и к верхнему левому из предсказанного пиксельного расположения.
Доступный в OS X v10.4 и позже.
-