📅  最后修改于: 2023-12-03 14:42:04.853000             🧑  作者: Mango
在开发过程中,经常会遇到需要在前端页面中展示一张图片的情况。而通常情况下,图片都是使用标签来显示的。但是有时候我们需要在HTML中直接嵌入图片,而不需要通过网络请求加载。
在这种情况下,我们可以使用base64编码来将图片数据嵌入HTML中。这样做的好处是可以减少网络请求,加快网页加载速度。
在HTML中插入base64编码后的图片数据只需要在标签的src属性中设置data:image/png;base64,
开头的字符串即可。其中,image/png
表示图片类型,可以根据实际情况进行更改。
下面是一个示例,将base64编码后的图片嵌入到了标签中:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAYAAAAv/3DRAAADKjElEQVR4nD2Xv2sbxR2HnxjLb8WEC7gKjSIREREREREREQEiCD8WjIgoF0D0RRERERERERERKJobWgOIQoErxxERERERERERESgg1HYBykCARXyyBEBERERERERERSCmp12Lw+Vp90C+d+79u7mwtJ+7512vvXGv+NxPZ/fJ7Hzc8gN48cNvL1T2HqnKPfC8/4WV7+OFduD3u9467N/8Y51/h19+0+W0r3//jKPY+J62Dd9h+fsZ1/v39R88KjY1Q2d+/85O57fjKryzWhPyDA5A6cOJ5Kj+OJlNR6+RdHvGn9OSg98fRxh/Spw6/8n/sqws/QCnVP/6hJm6M5vL+9p6U5+6U5TsAoIUzlg+HILhJGRIfAt6kre2fWcTyFUqxXhqZIxYWl+MbGQ1fb8JAGdOvaTT92o82GS68l+Pcm8/Iv4JMEsZt0sZA21EpwR8nyvTtGj+ODIzPhRL7WpMV8Bv7qmvns/4IUr7VWtalG8T71nPGe491NzLthNdakgNAJ10cYCf9Xc/nA+jweXI2QW/weYb+CvllDHm58MokJaL+GG6lE+p6v9DSVVni5U6TV5Vy6w+/YOWj+tLzG5Oei1QeRATtxdEn1eH70ZiupBSgDUsYwY8rE3qEp1hIoXCzgYN5a6zt9X6v5U6yx5U6fJ16AFw5L6iEuua6Lb2zikRAljR9/1gFMCnZDxYYagXRjwIVTM3FrEFePUcWFBIbzciTC4dW/N7V4vZt1s7V4NZTcWwTgTfNKkK0zVrlTs/n8WLV9XOvqnZJPxkvQCLmpY8/RwOenFSvLzJxrKjSzLqpuaunW+9v76JisVuTN2kKm8psKK+fme7fa+35rryJjKvtz8f+Tu3q44+jtNtuL55seTOZ8+JBhi2nSvVkTjKtJfz8kRgFhM1ZB0VR/oDmnPjMuClrt3qEJzwdH+w377e61suU5ON1K9XkU5YL6U5Yo6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5Y6U5crj0U6UN5U6YP//PdAG0DJLwAAAAASUVORK5CYII=">
除了静态HTML中插入base64编码后的图片,我们还可以通过JavaScript动态生成这样的图片。这种方式可以避免前端开发者手动将图片转为base64编码,方便了开发。
在JavaScript中生成base64编码后的图片,首先要将图片加载到内存中,然后再将其转化为base64编码。下面是一个示例:
function getBase64Image(img) {
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL("image/png");
return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
}
var img = new Image();
img.onload = function() {
var dataURL = getBase64Image(img);
var base64 = "data:image/png;base64," + dataURL;
// 插入图片到HTML中
var imgEl = document.createElement("img");
imgEl.src = base64;
document.body.appendChild(imgEl);
}
img.src = "example.png";
以上代码首先创建一个标签并将其绑定到onload事件上。接下来,使用Image对象将需要转为base64编码的图片加载到页面中。在onload事件中,将图片数据转为base64编码,并使用标签将图片插入到HTML中。
使用base64编码嵌入图片可以减少网络请求,提高网页加载速度。同时,我们也可以通过JavaScript动态生成base64编码后的图片,避免手动转换图片数据的麻烦。www
以上是关于<img src 数据库64 - Html>的介绍。