Sabia que é possível remover o fundo de uma imagem via código CSS?
Basta adicionar a propriedade “mix-blend-mode” como “multiply”
Veja o exemplo abaixo:
HTML
<img src"/assets/logo.png" class="logo" />
CSS
.logo {
mix-blend-mode: multiply;
}
React
Essa solução é viável para quem precisa ter um controle da imagem tanto em temas claros, quanto em temas escuros (dark/light mode).
Nesse exemplo abaixo a ideia era que a imagem permanecesse com suas cores originais no modo claro e que no modo escuro fosse aplicado a transparência nas partes brancas da imagem e que todo seu conteúdo fosse alterado para a cor branca.
O componente React está envolvido uma Box do MUI, mas poderia ser uma div com style.
Quanto maior o brilho brightness mais a imagem fica branca;
Quanto maior o contraste contrast mais pixelada a imagem fica;
A chamada ao themeName === "dark" é um context global do React;
Conclusão
E isso resolveu o problema! 👊
A imagem fica com suas cores originais no modo claro, porém no modo escuro é aplicada a transparência e a cor é alterada ajustada para branco em toda foto.