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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」