reactjs - 即使函数位于“src”值更改之前,本地图像也不会触发 onload 事件
问题描述
从 React 组件加载图像后,我需要将图像绘制到画布上。我使用 componentDidMount 函数来引用画布,然后尝试使用 Image() 类绘制本地图像。onload 事件在图像加载后执行绘图功能,但它仅适用于在线图像。如何使它适用于存储在 src 文件夹中的本地图像?
我已经尝试在更改变量的 src 值之前进行 onload 调用。
const canvas = this.refs.canvas;
canvas.width = 800;
canvas.height = 600;
const context = canvas.getContext('2d');
var background = new Image();
// background.src = './assets/background.png';
background.onload = () => {
alert ( 'This does not fire , only works for online images' );
context.drawImage ( background , 0 , 0 );
}
background.src = {background_image};
我的组件如下:
render(){
return(
<div>
<canvas ref='canvas'/>
</div>
);
}
解决方案
推荐阅读
- javascript - PDF 功能不起作用,即使它以前做过
- python - PyQt5,多种颜色的Qlabel文本
- go - 使用 Go 将结构插入到 Mongodb 中
- ios - Flutter:电话和后台音频管理
- vfork - vfork() 的返回类型
- android - 以编程方式在android中使用FFmpeg命令覆盖文本
- python - 创建用于审查的 django 模型给出了这个消息
- azure - 找不到类型 AzureSqlSyncGroupSchemaTableModel
- android - 二进制 XML 文件第 13 行:膨胀类时出错
- angular - angular2-multiselect-dropdown 编译问题