There is a CSS property that allows you to "hide" the background color of an image, but this image must be set to background
.
The background of the div that has the image must be the same as the background color of the page, the color for which you want to replace the white. This is the example in JSBin .
background-image: url(lifeboat-vector-3669456.jpg);
background-color: grey; /* aqui será a cor de fundo da página */
background-blend-mode: multiply;
But is not supported on all browsers , and may not work correctly with all colors.
/ p>
I suggested that you use a server-side solution, using PHP or whatever language you're using.