PNG с прозрачным фоном становится чёрным при загрузке и изменении размера

31 янв. 2012 г., 07:55:03
Просмотры: 67.4K
Голосов: 5

Шаги для воспроизведения:

  1. Создайте PNG-8 с прозрачным фоном.
  2. Загрузите в WordPress 3.3.1.
  3. Просмотрите оригинальный PNG в любом браузере: Chrome, Firefox, IE и т.д. Обратите внимание, что прозрачность сохраняется, как и должно быть.
  4. Просмотрите измененную версию этого PNG в любом браузере. Заметьте, что прозрачные части PNG теперь стали черными.

Примеры:

Это происходит даже при чистой установке WordPress 3.3.1 без активированных плагинов. Есть ли идеи, что может вызывать этот баг? Я искал везде: на этом форуме, на форумах поддержки WordPress и везде, где может найти Google. Всё, что я нахожу - это упоминания о баге плагина NextGEN Gallery и печально известном баге прозрачности PNG в IE6, но ни один из них, похоже, не имеет отношения к данной проблеме.

Заранее спасибо.

1
Комментарии

См. также http://core.trac.wordpress.org/ticket/20555

fuxia fuxia
1 мая 2012 г. 13:11:57
Все ответы на вопрос 4
2

Попробуйте сначала сохранить изображение в формате PNG-24.

Если это не сработает, ознакомьтесь с этими материалами:

http://www.akemapa.com/2008/07/10/php-gd-resize-transparent-image-png-gif/

https://stackoverflow.com/questions/6382448/png-transparency-resize-with-simpleimage-php-class

31 янв. 2012 г. 10:20:50
Комментарии

Сохранение изображения в формате PNG 24 сработало отлично. Теперь я изучу решение на StackOverflow. Спасибо за помощь!

Mike Lee Mike Lee
2 февр. 2012 г. 01:02:18

Всегда пожалуйста. Рад, что решение оказалось простым!

fxfuture fxfuture
2 февр. 2012 г. 05:53:39
0

Я могу сэкономить вам часы поисков в интернете для решения этой проблемы. Обязательно выполните следующие действия при добавлении PNG в WordPress

PNG должен быть 24-битным Если вы добавляете логотип на свой сайт WordPress, убедитесь, что размер логотипа точно соответствует размеру существующего. Если размер PNG слишком большой, прозрачный фон может стать черным.

1 мая 2012 г. 10:12:14
0

WordPress 3.5 представляет WP_Image_editor, позволяющий использовать либо GD, либо ImageMagick. Установка и использование библиотеки PHP ImageMagick, по-видимому, является решением проблемы черной прозрачности при изменении размеров GIF-файлов (или PNG): http://lists.automattic.com/pipermail/wp-hackers/2014-January/047573.html

4 янв. 2014 г. 19:07:52
0

У меня была похожая проблема: WordPress не распознавал PNG-изображение с прозрачностью. Оказалось, что в моем PNG был встроен пользовательский цветовой профиль. Как только я удалил его и заменил на стандартный, всё заработало корректно.

4 нояб. 2022 г. 12:53:47