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


    前言:

    使用时将里面的base数据替换即可,画布大小进行修改
    vue使用时必须在mounted里面、或者点击触发,因为在这个生命周期后才能获取dom元素

     js:

    1. // 在 JavaScript 中将 base64 格式的图片画到 canvas 上可以按照以下步骤进行操作:
    2. // 创建一个 Image 对象
    3. var img = new Image();
    4. // 指定 base64 格式的图片作为 Image 对象的 src
    5. img.src = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QA...';
    6. // 等待图片加载完成
    7. img.onload = function() {
    8. // 获取 Canvas 元素
    9. var canvas = document.getElementById('myCanvas');
    10. // 获取 2D 绘图上下文
    11. var ctx = canvas.getContext('2d');
    12. // 将图片绘制到 Canvas 上
    13. ctx.drawImage(img, 0, 0);
    14. }

    vue:

    1. <template>
    2. <canvas ref="myCanvas"></canvas>
    3. </template>
    4. <script>
    5. export default {
    6. mounted() {
    7. // 创建一个 Image 对象
    8. var img = new Image();
    9. // 指定 base64 格式的图片作为 Image 对象的 src
    10. img.src = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QA...';
    11. // 等待图片加载完成
    12. img.onload = () => {
    13. // 获取 Canvas 元素
    14. var canvas = this.$refs.myCanvas;
    15. // 获取 2D 绘图上下文
    16. var ctx = canvas.getContext('2d');
    17. // 将图片绘制到 Canvas 上
    18. ctx.drawImage(img, 0, 0);
    19. }
    20. }
    21. }
    22. </script>

     总结:

    在这两种示例中,都是通过创建一个新的 Image 对象,并将 base64 格式的图片赋值给它的 src 属性。接着使用 onload 事件确保图片加载完成后,获取 Canvas 元素和 2D 绘图上下文,最后调用 drawImage 方法将图片绘制到 Canvas 上。

    base64 格式的图片实际上是将图片以文本的形式编码成一长串字符,通过 data URI scheme 的方式嵌入到页面中。因此,当指定这样的字符串作为 Image 对象的 src 时,浏览器会自动解析并将其渲染为图片。然后通过 Canvas 的 2D 绘图上下文的 drawImage 方法,将图片绘制到 Canvas 上。

     

  • 相关阅读:
    90.(cesium之家)cesium高度监听事件
    (十一)Flask模板引擎jinja2
    2022年天猫8月份有什么大的活动?
    Collections.synchronizedMap() 和 ConcurrentHashMap 区别
    Arduino程序设计(八)LCD显示实验
    github本地仓库push到远程仓库
    深入理解操作系统中进程与线程的区别及切换机制(上)
    第二课 Python的语言环境
    nodejs,vue,element 这三者是什么关系?
    用java画一个抽奖时用的圆盘,感觉还挺好看的。
  • 原文地址:https://blog.csdn.net/m0_64590669/article/details/134411611