Исправление артефактов сжатия ResizeImageGet

Исправление артефактов сжатия ResizeImageGet

К сожалению данная проблема относится не к самому Битриксу а используемой им библиотеке GDlib, исправить данную проблему можно добавив следующий код в файл: /bitrix/modules/main/classes/general/file.php Начиная со строки 2317, после всех проходов imagecopyresampled в условии

if (CFile::IsGD2()){

 /*color fix*/
$colorWhite = imagecolorallocate($picture, 255, 255, 255);

for($y=0; $y<($arDestinationSize["height"]); ++$y)
{
for($x=0; $x<($arDestinationSize["width"]); ++$x)
{
$colorat=imagecolorat($picture, $x, $y);
$r = ($colorat >> 16) & 0xFF;
$g = ($colorat >> 8) & 0xFF;
$b = $colorat & 0xFF;

if(($r == 253 && $g == 253 && $b == 253) || ($r == 254 && $g == 254 && $b ==254)) {
imagesetpixel($picture, $x, $y, $colorWhite);
}
}
}

/*color fix*/
Данный код заменяет оттенки серого которые появляются при создании изображения на белые, изображение после этого выглядит намного лучше. Решение взято на http://mithrandir.ru/professional/php/gd-resizing-artefacts-fix.html

Возврат к списку

Новогодний бизнес-марафон!

Скидки на «1С-Битрикс: Управление сайтом»

В декабре запустить новый сайт можно не только быстро и легко, но и выгодно. Вы получите весь комплекс инструментов для управления сайтом, маркетингом и продажами — со скидкой 21%.

Скидки на продление лицензии

Даже если вы давно не продлевали лицензию вашего «1С-Битрикс: Управления сайтом», сейчас вы можете продлиться со скидкой 63%.

При покупке любой редакции 1С- Битрикс, Вы получите наш модуль совершенно БЕСПЛАТНО!

Свяжитесь с нами: optiimg@mail.ru

Закрыть