Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D':

2023-10-29

问题:Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D':The HTMLImageElement provided is in the 'broken' state.

分析:Uncaught DOMException表明未获取dom元素

The HTMLImageElement provided is in the 'broken' state.表明元素在获取过程中被中断了,也即元素可能没有正确获取

图片路径不正确导致图片未正确获取也将导致该错误

代码

HTML文件

<!DOCTYPE>
<html>
	<head>
		<mata name="viewport" content="width=device-width,initial-scale=1">
		<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
		
	</head>
	<body>
		<div>
			<canvas id="start" width="800" height="600">
			</canvas>
		</div>
		 <img src="./img/girl.jpg" id="img" style="display:none"/>  <!--正确路径-->
		<script type="text/javascript" src="js/commonFunctions.js"></script>
		<script type="text/javascript" src="js/star.js"></script>
			
	</body>
</html>

start.js:

var can;
var ctx;
var width;
var height;
var imgGirl=new Image();
// $(document).ready(function(){
// 	init();
// })
document.body.οnlοad=init;
function init(){
	can=document.getElementById("start");
	ctx=can.getContext("2d");

	width=can.width;
	height=can.height;
	imgGirl.src="../img/girl.jpg"//注意文件路径 正确路径为:./img/girl.jpg
	gameLoop();
}

function drawBg(){
	ctx.fillStyle="#393550";
	ctx.fillRect(0,0,width,height);
}
/** [gameLoop 刷新画布] */
function gameLoop(){
	window.requestAnimFrame(gameLoop);
	drawBg();
	drawImg();
}

//根据设备性能进行调用
function drawImg(){
	// star.js:39 Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': 
	// The HTMLImageElement provided is in the 'broken' state.
	// 分析:Uncaught DOMException表明未获取dom元素
	// 		  The HTMLImageElement provided is in the 'broken' state.表明元素在获取过程中被中断了,也即元素可能还在加载中
	ctx.drawImage(imgGirl,100,100)
}


解决办法:

先判断图片路径在js中是否正确:

在html中添加img标签,通过js赋值看是否可以正常显示,若可以则路径正确

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': 的相关文章

  • 如何计算 VU 仪表刻度的对数标签?

    我使用画布编写一个仪表小部件 需要计算刻度的标签值 没问题 除非我尝试重新创建 VU 表的刻度 我知道它是对数的 但在这种类型的仪表上 这些值不是 10 的幂 see https en wikipedia org wiki VU meter
  • HTML5 Canvas:绘制完成时获取事件

    我正在将图像绘制到画布元素 然后我就有了依赖于这个过程来完成的代码 我的代码如下所示 var myContext myCanvasElement getContext 2d myImg new Image myImg onload func
  • 使用groupSVGElements后如何选择子元素

    我正在将 svg 加载到具有子元素的 Fabric 中 我使用 groupSVGElements 对它们进行分组 我需要能够选择每个子元素 这是一个 onclick 事件 允许我选择一个子对象 我把这个小提琴放在一起http jsfiddl
  • 保持文本在画布上垂直居中

    我遇到的问题是将用户输入的文本保持在画布元素内垂直居中 我已经构建了一个测试环境来尝试解决这个问题 我在这篇文章中提供了该环境以及小提琴 这是我的代码 HTML Enter Your Text br
  • 在 Chrome 中拖动时更改 HTML5 Canvas 上的光标

    我正在研究如何在拖动鼠标时更改 HTML5 画布上的光标 遇到了这个 拖动鼠标时更改 HTML5 Canvas 上的光标 https stackoverflow com questions 4945874 change cursor ove
  • 在 JavaFX 中使用 MouseEvent 和 MouseClicked 选择并移动 Canvas 图像

    我有一个应用程序的示例 用于绘制图片GraphicsContext并如下图所示工作 问题是select and move只有blue circle水平地与Canvas MouseEvent and MouseClicked public c
  • 测量缩放画布上的文本

    我一直在努力处理文本测量和缩放画布 当画布未缩放时 getTextBounds 和measureText 可提供准确的结果 但是 当缩放画布时 这两种方法都无法提供与打印文本的实际大小相匹配的结果 为了进行测试 我使用以下 onDraw 方
  • HTML5画布中绘制图像对象的限制区域

    我想限制画布上可以绘制图像的区域 我正在使用 Fabric js 我尝试了以下链接 但它对我不起作用 在 Fabric js 中设置对象拖动限制 https stackoverflow com questions 19979644 set
  • 将内部图像替换为外部图像

    用户单击 蒙版 并上传图像 其显示的同一张图片两次 also Edit文本正在图像上显示 一旦用户单击 编辑文本 我们就会显示pop up box 在那里我们可以看到Zoomin Zoomout按钮正在显示 Issue 一旦我们点击这些按钮
  • 移动设备上的全屏画布

    我创建了一个小型画布游戏 希望它能够在 PC 和移动设备上运行 在 PC 上 画布区域可以按预期工作 但在为移动设备设计时就会出现问题 有没有一种方法 CSS 或 javascript 可以让用户双击网站内的画布区域时变成全屏 除非画布足够
  • 如何将 iframe 转换为画布?

    我正在尝试将所有内容作为图像保存到另一个页面中 我已经探索了执行此操作的方法 因此我认为我需要首先将该页面转换为画布 因此 我尝试使用要先将其保存为 iframe 的链接 然后将 iframe 转换为画布 但它不起作用 document r
  • 在 HTML 画布上绘制线宽连续变化的线条

    我试图画一条线 从一条细线开始 然后逐渐加宽直到结束 我需要绘制半平滑曲线 由几条直线合成 并且在寻找解决此任务的方法时遇到问题 这个小提琴显示了我的问题 http jsfiddle net ZvuQG 1 http jsfiddle ne
  • 使用 DrawImage 方法黑屏

    我必须使用绘制位图图像绘图上下文 DrawImage http msdn microsoft com en us library ms606804 28v vs 90 29 aspx method 使用下面的代码一切正常 BitmapIma
  • 如何检测形状是否被单击(HTML5 画布)?

    我正在使用画布绘制不同的形状 如矩形 三角形 六边形等lineTo方法如这个博客 http blog riacode in 2011 03 03 drawing regular polygons in html5 canvas 我只是想要一
  • HTML5 - 创建画布视口

    我有一个 2D 数组 宽 30 下 20 然而 视口仅绘制横向 15 和向下 10 的内容 我最初有一个这样的游戏 我一直在努力实现这样的目标 这是我的小提琴 http jsfiddle net sTr7q http jsfiddle ne
  • 从 url 加载图像并绘制到 HTML5 Canvas

    我在从 javascript 中的 url 加载图像时遇到问题 下面的代码可以工作 但我不想从 html 加载图像 我想使用纯 JavaScript 从 url 加载图像 var c document getElementById myCa
  • 尝试使用掩码裁剪位图会抛出 IllegalArgumentException:

    我正在使用以下代码 public void cropSelection Bitmap bitmap annotationBitmap copy annotationBitmap getConfig true Canvas canvas ne
  • 如何在画布中旋转图表同时保持数字垂直?

    我正在尝试围绕其中心旋转画布中的图表 同时保持字母直立 我正在尝试使用 ctx rotate 但它使用画布的左侧作为中心来旋转整个图表 以下链接提供了视觉效果 我希望它看起来像绿色 而不是红色 就像我的代码当前所做的那样 视觉解释 http
  • 获取画布上下文的最后一个点的坐标

    我想创建一个arrowTo功能与CanvasRenderingContext2D prototype 为此 我需要获取最后一个点的坐标 例如 var ctx someCanvas getContext 2d ctx moveTo 10 40
  • Arbor Js - 节点 Onclick?

    我在用着arbor js http arborjs org 创建图表 我如何创建一个onclick节点的事件 或者在单击时在某处创建节点链接 Arborjs org 主页的节点在单击时链接到外部页面 我如何复制它 或者使节点在单击时调用 j

随机推荐

  • GB28181设备接入侧如何对接外部编码后音视频数据并实现预览播放

    技术背景 我们在对接GB28181设备接入模块的时候 遇到这样的技术诉求 好多开发者期望能提供编码后 H 264 H 265 AAC PCMA 数据对接 确保外部采集设备 比如无人机类似回调过来的数据 直接通过模块 对接到GB28181平台
  • hyperledger fabric -- 开发模式下实现运行 Hello World

    一 链码开发 1 创建文件夹 进入 fabric samples chaincode 目录下并创建一个名为 hello 的文件夹 cd hyfa fabric samples chaincode sudo mkdir hello cd he
  • 解决Windows系统目录缺少cfgbkend.dll文件问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个cfgbken
  • SpringCould Swagger API接口管理

    课题引入 随着微服务架构体系的发展和应用 为了前后端能够更好的集成与对接 同时为了项目的方便交付 每个项目都需要提供相应的API文档 来源 PC端 微信端 H5端 移动端 安卓和IOS端 传统的API文档编写存在以下几个痛点 对API文档进
  • UWP和WPF比较

    UWP Universal Windows Platform 开发流程通常包括以下步骤 准备开发环境 安装Visual Studio 使用最新版本的Visual Studio来进行UWP开发 安装Windows 10 确保你的开发机器上安装
  • 面试题创作0008,请说明当系统中的主CPU的MMU单元,与设备中的MMU单元共用内存时,两个CPU地址总线与内存的链接方式。

    请说明当系统中的主CPU的MMU单元 与设备中的MMU单元共用内存时 两个CPU地址总线与内存的链接方式 这对软件编程的影响是什么呢 比如如何做到互知内存的分配情况 避免两个CPU打架的机制
  • 解决“keil无法找到相应文件的错误”方法

    今天来分享一下之前遇到的一个关于Keil使用过程中的一个BUG 不知道大家有没有听说过keil工程中的文件包含路劲是不能太深的 如果没有听说过 使用过程中可能会遇到这个错误 其错误提示为 xx x error A1023E File Lib
  • 使用C++开发游戏的技巧

    引言 C 是一种广泛使用的编程语言 因其高效性能和灵活性而受到许多游戏开发者的青睐 本文将探讨使用C 开发游戏的一些技巧 帮助您更有效地实现游戏设计的目标 一 选择适合的游戏引擎 选择一个合适的游戏引擎是开发游戏的关键 目前市场上有许多优秀
  • Python数据分析与应用_从数据获取到可视化题库及答案

    第1章习题 填空题 的目的在于将隐藏在一大批看似杂乱无章的数据信息集中提炼出来有用的数据 中包含了conda Python在内的超过180个科学包及其依赖项 Jupyter Notebook是一个支持 代码 数学方程 可视化和Markdow
  • Unity的C#编程教程_43_遍历数组

    1 Print Out All Elements Using For Loop 如何将数组和循环搭配起来 打印数组中的所有元素 我们可以使用 for 循环 using System Collections using System Coll
  • Endnote导入新的Styles[以Chinese Std GBT7714 (numeric)为例]

    1 进入Endnote官网 找到下载Style的地址 地址如下 Output Styles EndNote 需要下载的style包如图所示 2 下载我们需要的style包 把style包放到Endnote的安装路径下的指定文件夹位置即可 如
  • bss段,data段、text段、堆heap和栈stack

    bss段 data段 text段 堆heap和栈stack bss段 data段 text段 堆 heap 栈 stack 例子 在C的学习中 你总避免不了对各类数据的存储区域学习归纳总结 简单的总结 bss存全局和静态变量 data存全局
  • 全连接神经网络

    注 本文是关于北京邮电大学鲁鹏老师计算机视觉与深度学习课程全连接神经网络部分内容的笔记与一些个人理解 课程视频链接 全连接神经网络 全连接神经网络模型 两层全连接神经网络模型如下 f W 2 m
  • CLion 2020.3 亮点解析:具有root权限的运行和调试能力

    CLion是一款专为开发C及C 所设计的跨平台IDE 它是以IntelliJ为基础设计的 包含了许多智能功能来提高开发人员的生产力 这种强大的IDE帮助开发人员在Linux OS X和Windows上来开发C C 同时它还使用智能编辑器来提
  • 【VMware Workstation Pro 16】安装【Deepin-15.11】

    我的电脑配置 VMware Workstation Pro 16的安装 VMware官网 下载完成后进行安装 目前我不太了解WIN10的Hyper V 勾选了安装WHP 默认勾选添加到系统变量 以防打不开 虚拟机的安装 Deepin官网下载
  • muduo net库学习笔记1——TCP网络编程的本质、 EchoServer类、EventLoop类的简化封装

    TCP网络编程最本质是处理三个半事件 1 连接建立 服务器accept接收连接 客户端发起连接 2 连接断开 主动断开 close shutdown 被动断开 read返回0 3 消息到达 文件描述符可读 4 消息发送完毕 这算半个 对于低
  • nvm,参数存储

    目录 NVM 简介 API说明 实现流程 table类型参数的写入和读取 示例 常见问题 相关资料以及购买链接 资料附上API链接 demo链接 NVM 简介 nvm 非易失性存储器 英语 non volatile memory 缩写为NV
  • 如何使用Java以编程方式在 Excel 中创建图表

    图表和图形用于汇总和直观地表示数据 它们提供了可进一步用于做出决策的洞察力 图表被认为是 Excel 电子表格的一个组成部分 广泛用于各种应用程序 在本文中 将学习如何根据 Excel 工作表中提供的数据以编程方式生成图表 特别是 本文介绍
  • 百度智能云,沈抖拿到第二个KPI

    作为最近几年帮助百度这所大船加速转向并有亮眼战绩的关键人物 沈抖的加入 不论对百度智能云 还是中国云计算市场 都是一个足够值得期待的变量 作者 葡萄 子雨 编辑 皮爷 出品 产业家 5月的第一个工作日 沈抖领到了他进入百度的第二个KPI 执
  • Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D':

    问题 Uncaught DOMException Failed to execute drawImage on CanvasRenderingContext2D The HTMLImageElement provided is in the