Вопрос

У меня есть проблема с ImageCopyresAmpled для буферов, которые используют альфа-значения. Судя по-видимому, алгоритм предоставления пикселей альфа-значений перед фильтром, это приводит к черным границам церковных объектов.

Шаги для воспроизведения:

    .
  • сделать изображение, которое полностью бело в роль RGB и имеет (сглаживание !!) белый круг (идет с кругом, не с квадратом!) на черном фоне в альфа-части (так Альфа-часть будет иметь в основном совершенно белые и совершенно черные пиксели, а также некоторые градиентные пиксели на границах круга из-за сглаживания - это означает, что входное изображение не преподавало - это прямое / неумолимое, потому что RGB часть изображения полностью белый).

  • scaledown изображение вдвое с помощью imageCopyresAmpled

  • составляют результат на совершенно белом изображении

    Что бы я ожидал: полностью белое изображение

    Что я получаю: сероватая граница пограничный контур круг

    Я уверен, что это связано с преподобным альфа в пределах алгоритма CEALEDOWN (алгоритм умножает пиксели альфа-значению с его значением RGB для расчета нового значения RGB - таким образом, при этом белые пиксели станут серыми)

    Кто-нибудь знает, что Workaround для этого?

Это было полезно?

Решение

Я бы предложил попробовать изображение Magick для PHP.

http://www.php.net/manual/en/imagick.resizeimage.php

http://www.php.net/manual/en/imagick.ScoreImage.php

В моем опыте все хлопоты относительно визуализации в PHP просто уходят.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top