vue中使用canvas引入图片,不让图片在外部显示

今天做canvas画图时碰到一个问题,当往canvas引入图片时需要在外部写一个图片代码为:

<template>
  <div>
    <canvas ref="canvasBox" class="canvas_style" width="360" height="220" ></canvas>
     <img src="../assets/image/tree.png" alt="" ref="treeImg">
  </div>
</template>

这样就会出现图片在canvas外部的问题:

这与咱想法不同,首先想到在vue可以通过new Image()的方法创建一个img对象然后加载进去:

let imgObj = new Image();
imgObj.src = "../assets/image/tree.png";
imgObj.onload = function(){
  ctx.drawImage(this.$refs.treeImg,5,10);
}

这种方法在vue中仍不可用,后来想到disable:none的方法就可以实现了,代码如下:

<template>
  <div>
    <canvas ref="canvasBox" class="canvas_style" width="360" height="220" ></canvas>
    <div style="display:none">
        <img src="../assets/image/tree.png" alt="" ref="treeImg">
    </div>
  </div>
</template>

 

posted @   黑白棋学弟  阅读(1210)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示