Прозрачное изображение - по определению - не имеет цвета фона. На самом деле, обычный файл изображения даже не имеет понятия «передний план» или «фон». Обычно изображения состоят только из одного слоя пикселей, а цвет этих пикселей определяется количеством красного, зеленого и синего. В прозрачных изображениях эти пиксели дополнительно указывают альфа-значение, которое определяет их непрозрачность.
Я думаю, что вам нужно автономное изображение, которое могло бы каким-то образом выяснить, на каком фоне оно было показано. Это технически невозможно. Например, браузер просто отобразит ваш прозрачный файл PNG, где бы веб-сайт не указывал свое местоположение, какой бы цвет фона (или изображение) там ни находился. Вы должны генерировать разные цвета на изображении для разных фонов.
(Конечно, существуют более сложные форматы изображений, такие как многослойный TIFF или даже файл Photoshop, в котором может быть несколько слоев с различными эффектами наложения, но я понимаю, что это не контекст этого вопроса.)