phptumbon и прозрачный фон

Доброго времени суток!

Сталкивался ли кто то с задачей генерации превью с прозрачным фоном? Почитав документацию, понял что нужно просто выставить тип файла, в итоге использую сейчас вот так

{$file['url'] | phpthumbon:'w=196&h=132&f=png'}
Но при этом превью получаются все равно с белым фоном. Может кто знает как решить эту задачу? Заранее благодарен!
Игорь
14 марта 2017, 07:50
3
705
0

Комментарии: 9

Игорь
14 марта 2017, 12:48
0
НЕ уж то никто не сталкивался с такой проблемой?
    Валерий
    14 марта 2017, 12:54
    1
    +2
    Встречался с подобной проблемой, причем на локальном сервере все нормально отрабатывало, но при переносе на боевой (бегет) и очистке кэша, фон становился белым. Проблема лежит в phpthumb.
    сделайте бэкап /core/model/phpthumb и залейте мой yadi.sk/d/9XJdIbwz3FmTiW (не помню точно, где и что правил, можно сравнить с оригинальными файлами)
      Игорь
      14 марта 2017, 13:07
      0
      Большое спасибо, ваше решение помогло!
        Валерий
        14 марта 2017, 13:15
        0
        При обновлении MODX все слетит, кстати
          Павел Гвоздь
          14 марта 2017, 13:17
          0
          Еще стоило указать, что эта версия из какого-то старого MODX. Желательно указать версию MODX.
            Валерий
            14 марта 2017, 13:19
            0
            это с 2.5.1, phpthumb не обновляли после этой версии
          Игорь
          14 марта 2017, 13:21
          0
          Это я уже понял. )))
Валерий
14 марта 2017, 13:21
+1
Тут фикс данной проблемы, в phpthumb.class.php
github.com/FLEXIcontent/flexicontent-cck/commit/f27a74bf0c840d9b9c9d7e05487d42bce302b586
Алексей Смирнов
16 декабря 2017, 19:17
0
К слову. в modx revo 2.5.8 думаю и в 2.6 (не проверял)
Достаточно в файле
core\model\phpthumb\phpthumb.class.php
Закоментировать строку 1682, а именно:
if (!is_null($this->dpi) && $this->ImageMagickSwitchAvailable('density')) {
					// for vector source formats only (WMF, PDF, etc)
					//$commandline .= ' -flatten'; // Комментируем эту строку.
					$commandline .= ' -density '.phpthumb_functions::escapeshellarg_replacement($this->dpi);
				}