Я ответил на свою собственную неопределенность по этому поводу:
Этот процесс не может воссоздать исходное изображение.
(Это то, что JamWafflesсказал коротко в своем комментарии.) Вот объяснение, почему:
- Вы можете сфотографировать и отделить каналы RGB от программного обеспечения, такого как Photoshop.
- Вы можете манипулировать этими каналами серой шкалы таким образом, чтобы добавить различные альфа-уровни красного, зеленого и синего и сохранить их в
.png
.Пока все хорошо. - Вы не можете правильно рекомбинировать их, наслаивая слои на css.Предположим, у вас есть область фотографии, которая белого цвета.Обратите внимание на следующее:
Объединение альфа-каналов (является аддитивным)
Красный слой (255, 0, 0) + Зеленый слой (0, 255, 0) + Синий слой (0, 0, 255) = Вы видите RGB (255, 255, 255) , то есть белый.
Объединение слоев CSS(не аддитивен; он покроет нижние слои)
Красный (верхний) слой (255, 0, 0) + Зеленый (средний) слой (0, 255, 0) + Синий (нижний)Слой (0, 0, 255) = Вы видите RGB (255, 0, 0) , т.е. только верхний слой, который красный, так как он покрывает зеленый и синий слоив точке, где она на 100% непрозрачна.
Таким образом, до тех пор, пока css не предложит вариант, чтобы слои «добавляли» друг к другу, а не «покрывали» друг друга, такая идея не являетсявозможный.Теперь нельзя сказать, что вы не смогли бы добиться некоторых довольно интересных эффектов с помощью многослойных .png
изображений с монохроматическими цветами, а позже манипулировать непрозрачностью слоев дальше через css, вы просто не сможете воссоздать изображение черезукладка каналов в css.