Нормализуйте CSS фильтры с помощью фильтров GD lib - PullRequest
1 голос
/ 10 марта 2020

Я хочу, чтобы пользователь перетащил ползунок и отрегулировал яркость и контраст изображения с помощью предварительного просмотра в реальном времени (фильтры CSS), а затем сохранил настройки с помощью GD lib.

Однако я не могу показаться чтобы получить тот же результат от CSS фильтров и фильтров GD lib BRIGHTNESS и CONTRAST.

Мои css фильтры находятся в диапазоне от 50% до 150%, при этом 100% не имеют эффекта.

PHP преобразование в данный момент:

    // Convert palette images to true color RGB images
    imagepalettetotruecolor($image);

    if( isset($opt['brightness']) ) {
        $normalize = $opt['brightness'] / 100;
        $brightness = (255 - (255 * $normalize )) * -1;
        imagefilter($image, IMG_FILTER_BRIGHTNESS, $brightness);
    }

    if( isset($opt['contrast']) ) {
        $contrast = -($opt['contrast'] - 100);
        imagefilter($image, IMG_FILTER_CONTRAST, $contrast);
    }

    imagejpeg($image, $plain_img_path);

CSS фильтры с ползунками. GD lib без.

низкий контраст:

enter image description here

enter image description here

Высокая яркость:

Brightness GD lib Brightness CSS

...