Прозрачность в PNG признается в некоторых приложениях, но не в других - PullRequest
1 голос
/ 17 июня 2009

У меня есть изображение в формате png, которое вы можете увидеть здесь:

http://img10.imageshack.us/img10/9145/archer5.png

Фон спрайта прозрачен, я вижу это во всех моих браузерах и в infranview (который я использовал для создания этого), а также в gimp и проводнике Windows.

Однако в Photoshop, Paint и, что наиболее важно, в PHP GD есть сплошной фон. Посмотрите изображение с одним из этих приложений, чтобы понять, о чем я говорю.

Все миниатюры, созданные на моем сервере, имеют сплошной фон, а не хорошие.

Что я могу сделать, чтобы прозрачность распознавалась всеми приложениями?

Спасибо.

Примечание: у меня также есть 2000 таких изображений, которые должны пройти ту же операцию. Любое пакетное предложение было бы также хорошо.

Редактировать: Простите, ребята, я прошу прощения за мою неумелость! НЕПРАВИЛЬНЫЙ ФАЙЛ! Я обновил ссылку с правильным файлом, извините!

Ответы [ 5 ]

3 голосов
/ 17 июня 2009

У меня есть прозрачный фон в Photoshop для меня. Я предполагаю, что если он не прозрачен в каком-либо приложении, это проблема с приложением (не поддерживающим прозрачность), чем с файлом.

2 голосов
/ 17 июня 2009

Я думаю, что ваша проблема в самих приложениях. Когда вы говорите PHP GD, я думаю, что вы на самом деле имеете в виду «Internet Explorer» (поскольку PHP не является средством просмотра). Internet Explorer (по крайней мере, до IE7) не делает прозрачный PNG (он помещает серое изображение позади), если вы не сделаете какую-то изворотливую ерунду с Альфа-фильтром.

Это ваше (обновленное) изображение в Safari (которое поддерживает PNG правильно): alt text
(источник: arc.net.au )

2 голосов
/ 17 июня 2009
1 голос
/ 17 июня 2009

GD требует одного из различных параметров (напрямую или в типе изображения при создании нового изображения) для вывода прозрачных пикселей.

0 голосов
/ 17 июня 2009

Возможно, вы могли бы попытаться сохранить их как 24-битные PNG вместо 32-битных. Может быть, PHP GD будет иметь лучшую поддержку для этого.

...