Я заметил эту проблему во всех IE - 6, 7, 8. Некоторые изображения PNG будут иметь черные контуры вокруг них в прозрачных областях. Оказалось, что мне пришлось открыть Gimp (мой бесплатный кроссплатформенный редактор изображений), открыть PNG, в котором возникла проблема, и использовать инструмент «Нечеткий выбор» на 150%, чтобы повторно выбрать прозрачную область, и нажать «Удалить». Затем сохраните. Это обычно решало пятнистость вокруг PNG в прозрачных областях примерно на 98%.
Если это не сработало, перезагрузите Gimp, установите фон на белый, выберите «Свести изображение», установите порог «Нечеткий выбор» на 3%, выберите фон, который вы хотите удалить, выберите «Удалить (очистить)», затем снова выберите Еще раз фон с порогом в 150%, удалите, а затем сохраните изображение.
Примечание по моему инструменту Fuzzy Select. В моих настройках Gimp были установлены флажки «Сглаживание», сняты флажки «Перья краев», отмечен флажок «Выбрать прозрачные области», снят флажок «Образец объединен» и «Выбор составным».
Да, похоже, это ошибка IE с изображениями PNG с прозрачным фоном. Ни один из других браузеров - Opera, Safari, Firefox, Chrome - не имеют этой проблемы. Я подозреваю, что некоторые графические программы устанавливают прозрачность 50% как часть сглаживания по краям, потому что проблемы возникают только с краями. Я думаю, что браузеры без IE обрабатывают 50% прозрачности на пикселе, но IE может понимать только как 100% прозрачность на пикселе - просто догадка.