Я предполагаю, что это было названо «Грязная прозрачность» в этой статье от Smashing Magazine .
По сути, любой цвет в прозрачных PNG может быть описан значением RGBA, где RGB обозначает красный, зеленый и синий каналы, а A обозначает альфа. «Невидимые» цвета могут иметь любые значения RGB + 0 Альфа, что означает, что цвет сохранит исходную информацию, но будет отображаться как прозрачный, поскольку его альфа установлен на 0.
Почему вы хотите хранить значения RGB при использовании Alpha? Таким образом, вы можете получить плавные края и прозрачные цвета - в отличие от зубчатых краев в GIF-изображениях с прозрачным фоном. Прозрачность в PNG может быть от 0 до 255, в GIF-файле она либо на 100% прозрачна, либо непрозрачна. Чтобы отобразить что-то, скажем, с 50% прозрачностью, вам все равно нужно знать значения RGB, следовательно, значение сохраняется. Большинство программ для редактирования изображений отбрасывают эту информацию RGB при сохранении полностью прозрачного цвета, включая Photoshop.
Я не могу говорить о версиях CC, но чтобы увидеть «невидимые» цвета в старых версиях Photoshop, вам понадобится плагин. Выберите один: фото бесплатно или SuperPNG . SuperPNG кажется более новым и менее загруженным.
Почему трюк работает? Обои должны быть непрозрачными, потому что за ними ничего не видно, верно? Я предполагаю, что Windows отбрасывает информацию об альфа-канале, выявляя скрытые значения RGB в процессе.