Убираем фон у png изображений после преобразования через phpthumb
После преобразования изображения формата png через phpthumb исчезает прозрачность изображения.
Поиски по интернету привели к быстрому решению, прописать в настройках поворот на 1 градус ra=1
Но это работает корректно, если не происходит изменение размеров изображения.
При добавлении параметров для контроля размера изображения, при малых картинках появляются дополнительные прозрачные поля и увеличения размера изображения до указынных параметров.
Дальнейшие поиски привели к тому, что необходимо внести изменения в сам класс phpthumb на 1678 строке класса от modx 2.6.5 изменить последовательность строк и добавить условие.
ob_start(); $getimagesize = getimagesize($this->sourceFilename); $GetImageSizeError = ob_get_contents(); ob_end_clean(); if (!is_null($this->dpi) && $this->ImageMagickSwitchAvailable('density')) { // for vector source formats only (WMF, PDF, etc) if (!is_array($getimagesize) || $getimagesize[2] != IMAGETYPE_PNG) { $commandline .= ' -flatten'; } $commandline .= ' -density '.phpthumb_functions::escapeshellarg_replacement($this->dpi); } if (is_array($getimagesize)) { $this->DebugMessage('getimagesize('.$this->sourceFilename.') SUCCEEDED: '.print_r($getimagesize, true), __FILE__, __LINE__); } else {...
Источник: https://github.com/FLEXIcontent/flexicontent-cck/commit/f27a74bf0c840d9b9c9d7e05487d42bce302b586
Комментарии ()