好家伙,
(资料图)
现在,我想要把我的飞机大战塞到我的主页里去,想办法把文件导入
然后,直接死在第一步,图片渲染都成问题
先用vue写一个测试文件
来测试canvas的绘制
<script>// import { PlaneBattle } from "../../../../PB for Vue/startgame"// console.log(document.getElementById("stage"))// plane.create(document.getElementById("stage"));export default { methods: { drawsth() { // PlaneBattle.createNewGame(this.$refs.stage) // console.log(this.$refs.stage) // plane.create(this.$refs.stage) console.log("我被执行啦") let canvas = document.createElement("canvas"); this.$refs.stage.appendChild(canvas); canvas.width = 480; canvas.height = 650; canvas.ref = canvas; canvas.style = "border: 1px solid red;" // this.$ref.stage.style = console.log(this.$refs.stage) console.log("...") console.log(this.$refs.stage.canvas) const context = canvas.getContext("2d"); let img = new Image(); img.src = "../assets/logo.png"; context.drawImage(img, 0, 0 ,480 ,650) } }}</script>
随后,在大佬的帮助下,我找到了问题所在
img.src = "../assets/logo.png";
改为:
img.src = require("../assets/logo.png")
context.drawImage(img, 0, 0 ,480 ,650)
改为(在外面套一层onload)
img.onload = function () { console.log("img加载完毕") context.drawImage(img, 0, 0 ,480 ,650) }
修改后的代码:
<script>// import { PlaneBattle } from "../../../../PB for Vue/startgame"// console.log(document.getElementById("stage"))// plane.create(document.getElementById("stage"));export default { methods: { drawsth() { // PlaneBattle.createNewGame(this.$refs.stage) // console.log(this.$refs.stage) // plane.create(this.$refs.stage) console.log("我被执行啦") let canvas = document.createElement("canvas"); this.$refs.stage.appendChild(canvas); canvas.width = 480; canvas.height = 650; canvas.ref = canvas; canvas.style = "border: 1px solid red;" // this.$ref.stage.style = console.log(this.$refs.stage) console.log("...") console.log(this.$refs.stage.canvas) const context = canvas.getContext("2d"); let img = new Image(); // img.src = "../assets/logo.png"; img.src = require("../assets/logo.png") img.onload = function () { console.log("img加载完毕") context.drawImage(img, 0, 0 ,480 ,650) } } }}</script>
搞定:
搞定了
好家伙,现在,我想要把我的飞机大战塞到我的主页里去,想办法把文件导...
交通银行普通纪念币兑换网点一、兑换网点图源:交通银行官网二、注...
下一句是疑则有进,作者是陆九渊,出自《语录下》。“为学患无疑,...
广汽埃安3月30日举行弹匣电池2 0枪击试验,实现了电池整包枪击不起...
智通财经APP获悉,西班牙桑坦德银行(SAN US)周五表示,尽管最近银...
为方便市民错峰出行,上海市“出行即服务”(MaaS)平台“随申行”整...
近日,记者从潍坊海关获悉,根据财政部、海关总署、税务总局近日印...
中山起价4 55亿挂牌一宗28亩宅地将于5月6日出让,地价,东区,挂牌,中...
2023年咸宁市五险一金缴纳基数和比例标准一览,下文就随社保君来简...
人工智能技术正在渗入人类社会的方方面面,就连法院都要借助它来断...
散点图是通过两组数据构成多个坐标点,考察坐标点的分布,判断两变...
3月30日,合肥市统计局、国家统计局合肥调查队发布了合肥市2022年国...
国家能源局:到2030年一批制约能源数字化智能化发展的共性关键技术...
复星医药融资融券信息显示,2023年3月30日融资净偿还385 59万元;...
一份不错的成绩单
数据机构whoscored对比了本赛季英超球员在世界杯前后的评分情况,哈...
再见独行侠!史诗级2换7方案,东契奇联手约基奇,NBA迎大结局
这就是统治力本赛季7个意甲月最佳,那不勒斯独占5次❗,意甲,莱奥,基...
图片来源@视觉中国近年来,新消费场景层出不穷,例如,抖音直播电商...
范德堡大学有ED1和ED2两个申请批次,今年早申(ed1+ed2)录取率是15...
1、桌面上。2、以Windows7操作为例:首先需要打开电脑,在需要截屏...
“见到亚运会志愿者,送上一瓶水,递上纸巾擦擦汗,说句辛苦了谢谢...
1、浦发银行、陆家嘴、上海三毛、外高桥、上海金陵、浦东金桥、金山...
大众网·海报新闻记者梁雯济南报道3月30日下午,山东省政府新闻办召...
App3月30日消息,中国煤炭运销协会3月30日发布2、3月焦炭行业运行分...
3月29日,新疆伊力王酒队球员法尔(左一)在比赛中突破防守。3月29...
在一项新的开创性研究中,来自加拿大麦吉尔大学等研究机构的研究人...
金投外汇网(http: forex cngold org)提供了今日人民币对美元汇...
台湾自古以来就是中国领土的一部分,从来就不是一个国家,将来更不...
在万佛园建园三十周年之际,为感恩新老客户对万佛园的信赖与支持,...