Данное решение позволяет сохранять прозрачность при сжатии изображений:
В system/libraries/Image_lib.php, после строчки
$dst_img = $create($this->width, $this->height);
добавить следующий текст:
// keeping transparency $transparent_index = imagecolortransparent($src_img); if ($transparent_index >= 0) { imagepalettecopy($src_img, $dst_img); imagefill($dst_img, 0, 0, $transparent_index); imagecolortransparent($dst_img, $transparent_index); imagetruecolortopalette($dst_img, true, 256); } elseif ($this->image_type == 3) { imagealphablending($dst_img, false); $transparent_index = imagecolorallocatealpha($src_img, 0, 0, 0, 127); imagefill($dst_img, 0, 0, $transparent_index); imagesavealpha($dst_img, true); }Недостатком такого решения является то, что изменяется системная библиотека в system/ , а при "обновлении" проекта, изменения могут затеряться.
Комментариев нет:
Отправить комментарий