将base64格式的图片画到canvas上(js和vue两种)

简介: 将base64格式的图片画到canvas上(js和vue两种)

前言:

使用时将里面的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 上。

相关文章
|
4月前
|
存储 JavaScript 前端开发
JS上传文件(base64字符串和二进制文件流)
这篇文章介绍了两种JavaScript文件上传的方法:使用FileReader对象将文件读取为base64字符串上传,以及使用FormData对象以二进制文件流的形式上传文件,包括如何处理文件选择、读取和上传的详细代码示例。
541 2
JS上传文件(base64字符串和二进制文件流)
|
2月前
|
JavaScript
如何在 Vue 项目中选择合适的模块格式
【10月更文挑战第20天】选择合适的模块格式需要综合考虑多个因素,没有一种绝对正确的选择。需要根据项目的具体情况进行权衡和分析。在实际选择过程中,要保持灵活性,根据项目的发展和变化适时调整模块格式。
23 7
|
1月前
|
JavaScript 前端开发 持续交付
构建现代Web应用:Vue.js与Node.js的完美结合
【10月更文挑战第22天】随着互联网技术的快速发展,Web应用已经成为了人们日常生活和工作的重要组成部分。前端技术和后端技术的不断创新,为Web应用的构建提供了更多可能。在本篇文章中,我们将探讨Vue.js和Node.js这两大热门技术如何完美结合,构建现代Web应用。
41 4
|
2月前
|
JavaScript 前端开发 编译器
在 Vue 项目中使用 ES 模块格式的优点
【10月更文挑战第20天】在 Vue 项目中使用 ES 模块格式具有众多优点,这些优点共同作用,使得项目能够更高效、更可靠地开发和运行。当然,在实际应用中,还需要根据项目的具体情况和需求进行合理的选择和配置。
39 6
|
3月前
|
移动开发 前端开发 JavaScript
JS配合canvas实现贪吃蛇小游戏_升级_丝滑版本_支持PC端和移动端
本文介绍了一个使用JavaScript和HTML5 Canvas API实现的贪吃蛇游戏的升级版本,该版本支持PC端和移动端,提供了丝滑的转向效果,并允许玩家通过键盘或触摸屏控制蛇的移动。代码中包含了详细的注释,解释了游戏逻辑、食物生成、得分机制以及如何响应不同的输入设备。
84 1
JS配合canvas实现贪吃蛇小游戏_升级_丝滑版本_支持PC端和移动端
|
2月前
|
存储 JavaScript 前端开发
vue尚品汇商城项目-day05【30.登录与注册静态组件(处理公共图片资源问题)+31.注册的业务+登录业务】
vue尚品汇商城项目-day05【30.登录与注册静态组件(处理公共图片资源问题)+31.注册的业务+登录业务】
37 1
|
3月前
|
移动开发 前端开发 JavaScript
js之Canvas|2-1
js之Canvas|2-1
|
3月前
|
移动开发 前端开发 JavaScript
JS配合canvas实现贪吃蛇小游戏
本文通过详细的代码示例介绍了如何使用JavaScript和HTML5的Canvas API实现一个贪吃蛇游戏,包括蛇的移动、食物的生成、游戏的开始与结束逻辑,以及如何响应键盘事件来控制蛇的方向。
50 1
|
4月前
|
容器
Vue3图片(Image)
该图片预览组件提供丰富的功能,包括设置鼠标悬浮预览文本、图像描述、尺寸调整、适应容器模式等。支持单张或多张图片展示,具备旋转、缩放、镜像等功能,并可通过键盘或滚轮控制。组件允许自定义多项属性,如图像地址、宽度、高度、边框显示等,并兼容多种使用场景,如相册模式和循环切换。组件内部使用了 Vue3 的 `Spin` 和 `Space` 组件以及 `add` 函数辅助实现。
Vue3图片(Image)
|
3月前
|
移动开发 前端开发 JavaScript
原生JavaScript+canvas实现五子棋游戏_值得一看
本文介绍了如何使用原生JavaScript和HTML5的Canvas API实现五子棋游戏,包括棋盘的绘制、棋子的生成和落子、以及判断胜负的逻辑,提供了详细的代码和注释。
52 0
原生JavaScript+canvas实现五子棋游戏_值得一看