Uma imagem transparente - por definição - não tem uma cor de fundo. De fato, um arquivo de imagem normal não tem sequer um conceito de "primeiro plano" ou "segundo plano". Normalmente, as imagens consistem em apenas uma camada de pixels, e a cor desses pixels é definida pela quantidade de vermelho, verde e azul. Em imagens transparentes, esses pixels especificam adicionalmente um valor alfa que determina sua opacidade.
O que eu acho que você quer é uma imagem independente que possa de alguma forma descobrir em que plano foi mostrado. Isso é tecnicamente impossível. Por exemplo, um navegador apenas renderizará seu arquivo PNG transparente sempre que o site especificar sua localização, seja qual for a cor de fundo (ou imagem) existente. Você precisa gerar cores diferentes na imagem para diferentes origens.
(É claro que existem formatos de imagem mais complexos, como TIFF de várias camadas ou até mesmo um arquivo do Photoshop, em que pode haver várias camadas com diferentes efeitos de sobreposição, mas entendo que esse não é o contexto dessa pergunta. .)