Base64 - это просто кодировка, которая не обязательно связана с изображениями.Если вам просто нужен заполнитель, я бы порекомендовал не добавлять изображение до тех пор, пока оно не будет загружено, и отображать вместо него размер div
.
Если вам действительно нужно изображение, вы можете просто сделать исходный код SVG,который вам даже не нужно кодировать в Base64, потому что его данные уже текстовые.Итак, это выглядит примерно так:
data:image/svg+xml;utf8,<svg ... >
Тогда вам просто нужно установить соответствующие свойства, чтобы изменить его размер и добавить цвет.
const addImage = (width, height, color) =>
{
const image = document.createElement('img');
image.src = `data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="${width}px" height="${height}px">
<rect width="100%" height="100%" fill="${color}"/>
</svg>`;
document.body.appendChild(image);
}
addImage(200, 100, 'red');