前言:
使用时将里面的base数据替换即可,画布大小进行修改
vue使用时必须在mounted
里面、或者点击触发,因为在这个生命周期后才能获取dom
元素
js:
// 在 JavaScript 中将 base64 格式的图片画到 canvas 上可以按照以下步骤进行操作: // 创建一个 Image 对象 var img = new Image(); // 指定 base64 格式的图片作为 Image 对象的 src img.src = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QA...'; // 等待图片加载完成 img.onload = function() { // 获取 Canvas 元素 var canvas = document.getElementById('myCanvas'); // 获取 2D 绘图上下文 var ctx = canvas.getContext('2d'); // 将图片绘制到 Canvas 上 ctx.drawImage(img, 0, 0); }
vue:
<template> <canvas ref="myCanvas"></canvas> </template> <script> export default { mounted() { // 创建一个 Image 对象 var img = new Image(); // 指定 base64 格式的图片作为 Image 对象的 src img.src = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QA...'; // 等待图片加载完成 img.onload = () => { // 获取 Canvas 元素 var canvas = this.$refs.myCanvas; // 获取 2D 绘图上下文 var ctx = canvas.getContext('2d'); // 将图片绘制到 Canvas 上 ctx.drawImage(img, 0, 0); } } } </script>
总结:
在这两种示例中,都是通过创建一个新的 Image 对象,并将 base64 格式的图片赋值给它的 src 属性。接着使用 onload 事件确保图片加载完成后,获取 Canvas 元素和 2D 绘图上下文,最后调用 drawImage 方法将图片绘制到 Canvas 上。
base64 格式的图片实际上是将图片以文本的形式编码成一长串字符,通过 data URI scheme 的方式嵌入到页面中。因此,当指定这样的字符串作为 Image 对象的 src 时,浏览器会自动解析并将其渲染为图片。然后通过 Canvas 的 2D 绘图上下文的 drawImage 方法,将图片绘制到 Canvas 上。