Удаление пятен на прозрачных PNG, отфильтрованных с дополнительной непрозрачностью в IE - PullRequest
2 голосов
/ 22 сентября 2008

Я сделал вращающийся фейдер изображений, используя Javascript и CSS, чтобы показывать изображения и выгружать их. Я хотел использовать прозрачные PNG, я не ожидал и не заботился о том, хорошо ли они выглядят в IE 6, но IE 7 и 8 относились к ним с тем же неуважением. Firefox и другие современные браузеры выглядели великолепно.
Каждое изображение с image.filter = alpha(opacity=xxx) выглядит так, как будто на некоторой прозрачности есть какой-то остаточный шум, возможно, от сжатия или чего-то еще, независимо от того, что я делаю с изображением, там еще что-то есть.

Я сделал обходные пути, разместив JPG на белом фоне и используя GIF.
Также может кто-нибудь сказать мне, если это действительно ошибка в IE?


Дайте мне знать, если вам нужен пример, и я сделаю один

Ответы [ 2 ]

1 голос
/ 26 октября 2009

У меня была такая же проблема - все IE выходили бы из строя, но Firefox и все другие браузеры не имели бы проблем.

То, как я это исправил, состояло в том, чтобы открыть PNG в Gimp, выбрать инструмент Fuzzy Select Tool, установить пороговое значение 150%, проверить сглаживание, снять флажок «Перьевые края», выбрать «Выбрать прозрачные области». Затем я нажал на прозрачные области - все те, которые я мог найти на изображении, и нажал клавишу Delete (что означает «Очистить»). Затем я снова сохранил изображение. Это решает проблему на 98% для большинства изображений во всех Internet Exploders.

Однако я хочу немного предостеречь эту инструкцию. Если вы выберете «Нечеткий выбор», и в итоге будет выделено больше, чем в предыдущей прозрачной области, затем установите 3%, нечеткий выбор, нажмите «Удалить», затем снова выберите «Нечеткий выбор» со значением 150%, затем нажмите «Удалить», и его следует разрешить без удаления любое ваше изображение.

Если у вас нет Gimp, он кроссплатформенный и бесплатный для Windows, Mac и Linux.

1 голос
/ 22 сентября 2008

Вы должны использовать 'finishopacity' с 'opacity', чтобы получить равномерную прозрачность на изображении.

Кстати, прозрачность тоже не очень хорошо работает в IE 6. Я использую исправление JavaScript Боба Осолы для этого, прекрасно работает!

http://homepage.ntlworld.com/bobosola/

...