В PHP, imagepng () принимает параметр фильтра. Как эти фильтры влияют на вывод функции?

Как эти фильтры влияют на вывод imagepng () в PHP?

  • PNG_NO_FILTER
  • PNG_FILTER_NONE
  • PNG_FILTER_SUB
  • PNG_FILTER_UP
  • PNG_FILTER_AVG
  • PNG_FILTER_PAETH
  • PNG_ALL_FILTERS

В документации просто говорится, "Специальный фильтр PNG, используемый imagepng (), функционирует" для каждого из них.

Кажется, что использование, PNG_NO_FILTER уменьшит размер файла вывода, но кроме этого, я не уверен относительно того, как это затронуто. Любое понимание действительно ценилось бы.

15
задан genesis 9 September 2011 в 13:31
поделиться

2 ответа

Согласно спецификациям PNG на http://www.w3.org/TR/PNG-Filters.html Назначение этих фильтров - подготовить данные изображения для оптимального сжатия.

С фильтром Нет строка сканирования передается в неизмененном виде; это только необходимо вставить байт типа фильтра перед данными.

Подфильтр передает разница между каждым байтом и значение соответствующего байта предыдущий пиксель.

Верхний фильтр аналогичен дополнительному фильтр, за исключением того, что пиксель непосредственно над текущим пикселем, а не слева от него, используется как предсказатель.

Средний фильтр использует среднее значение два соседних пикселя (левый и выше), чтобы предсказать значение пиксель.

Фильтр Паэт вычисляет простой линейная функция трех соседние пиксели (слева, вверху, вверху слева), затем выбирает в качестве предиктора соседний пиксель, ближайший к вычисленное значение. Эта техника обязана Алану В. Пэту [PAETH]. *

15
ответ дан 1 December 2019 в 03:34
поделиться

Это все различные алгоритмы, которые кодер PNG может использовать для определения значений пикселей. Я не очень много знаю, но эта страница, кажется, немного углубляется: http://www.w3.org/TR/PNG-Filters.html

2
ответ дан 1 December 2019 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: