gosu 1 Опубликовано: 25 октября 2009 Рассказать Опубликовано: 25 октября 2009 (изменено) DLE Не поддерживает прозрачные изображения (PNG & GIF) Я писал уже давно об этой проблеме, еще не зафиксировано Почему я решил сам, как можно исправить (DLE 8.2) Вот: Файл: classes/thumb.class Найти: $this->img['des'] = imagecreatetruecolor($nw, $nh); Добавить ниже: if ( ( $this->img['format'] == "GIF" ) or ( $this->img['format'] == "PNG" ) ) { $trnprt_indx = imagecolortransparent( $this->img['src'] ); if (($trnprt_indx ) > 254) $trnprt_indx = 254; if ( $trnprt_indx >= 0 ) { $trnprt_color = imagecolorsforindex ( $this->img['src'], $trnprt_indx ); $trnprt_indx = imagecolorallocate ( $this->img['des'], $trnprt_color['red'], $trnprt_color['green'], $trnprt_color['blue'] ); imagefill ( $this->img['des'], 0, 0, $trnprt_indx ); imagecolortransparent ( $this->img['des'], $trnprt_indx ); } elseif ( $this->img['format'] == "PNG" ) { imagealphablending ( $this->img['des'], false ); $color = imagecolorallocatealpha ( $this->img['des'], 0, 0, 0, 127 ); imagefill ( $this->img['des'], 0, 0, $color ); imagesavealpha ( $this->img['des'], true ); } } Найти: $this->img['des'] = imagecreatetruecolor( $this->img['lebar_thumb'], $this->img['tinggi_thumb'] ); Добавить ниже: if ( ( $this->img['format'] == "GIF" ) or ( $this->img['format'] == "PNG" ) ) { $trnprt_indx = imagecolortransparent( $this->img['src'] ); if (($trnprt_indx ) > 254) $trnprt_indx = 254; if ( $trnprt_indx >= 0 ) { $trnprt_color = imagecolorsforindex ( $this->img['src'], $trnprt_indx ); $trnprt_indx = imagecolorallocate ( $this->img['des'], $trnprt_color['red'], $trnprt_color['green'], $trnprt_color['blue'] ); imagefill ( $this->img['des'], 0, 0, $trnprt_indx ); imagecolortransparent ( $this->img['des'], $trnprt_indx ); } elseif ( $this->img['format'] == "PNG" ) { imagealphablending ( $this->img['des'], false ); $color = imagecolorallocatealpha ( $this->img['des'], 0, 0, 0, 127 ); imagefill ( $this->img['des'], 0, 0, $color ); imagesavealpha ( $this->img['des'], true ); } } Все... Изменено 25 октября 2009 пользователем gosu Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 623 Опубликовано: 26 октября 2009 Рассказать Опубликовано: 26 октября 2009 У меня и так все поддерживает. Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 26 октября 2009 Рассказать Опубликовано: 26 октября 2009 Не совсем понял, зачем это вообще надо? Цитата Ссылка на сообщение Поделиться на других сайтах
PaSSoR 19 Опубликовано: 4 ноября 2009 Рассказать Опубликовано: 4 ноября 2009 У кого чёрный фон, чтобы при вставки картинки небыло белой пустоты, будет прозрачность. Я правильно понял? Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 5 ноября 2009 Рассказать Опубликовано: 5 ноября 2009 PaSSoR, да. Можна еще проще, прицепить в шаблон pngFix, но он работает только для png, часто использую при верстке с png картинками. Цитата Ссылка на сообщение Поделиться на других сайтах
Al-x 7 Опубликовано: 5 ноября 2009 Рассказать Опубликовано: 5 ноября 2009 Можна еще проще, прицепить в шаблон pngFix не уверен, что это прокатит, т.к. там в самом изображении будет потеряна информация. Хотя опять же - не уверен, это скорее из общих соображений. Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 6 ноября 2009 Рассказать Опубликовано: 6 ноября 2009 Совершенно о разных вещах говорите. Одно дело при вёрстке отсутствие поддержки канала альфа-прозрачности ПНГ у Internet Explorer (Ради которого и сделан pngFix) и отсутствие прозрачности при пересохранении картинки. Цитата Ссылка на сообщение Поделиться на других сайтах
gosu 1 Опубликовано: 7 ноября 2009 Рассказать Опубликовано: 7 ноября 2009 (изменено) Автор Все версии имеют этот недостаток, При изменении размера прозрачным изображения (GIF, PNG) фон заменяется на темный цвет. Demo: исходных изображений (GIF & PNG) с прозрачной части: DLE стандартный класс изображений ( Crop, Resize ): все тестовые изображения (ZIP): http://www.mediafire.com/file/tmemunmgyzv/IMAGES_.rar Изменено 7 ноября 2009 пользователем gosu Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.