javascript - 如何从文件输入显示图片到画布
问题描述
我有以下代码:
索引.html
<!DOCTYPE html>
<html>
<head>
<!-- meta, title, etc -->
</head>
<body>
<input type="file" accept="image/*" id="imgin" /> <br />
<canvas id="canvas"></canvas>
<script type="text/javascript" src="./scripts/main.js"></script>
</body>
</html>
main.js
const imgin = document.getElementById('imgin');
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
imgin.addEventListener('change', drawimage);
function drawimage() {
//draw_image
}
现在,我想在选择时在画布上绘制图像。我该怎么做?
我发现的只是没有从<input>
标签中放置图像。
解决方案
这是jsfiddle:单击。
使用的 HTML:
<input type="file" id="input"/>
<canvas width="400" height="300" id="canvas"/>
用过的JS:
var input = document.getElementById('input');
input.addEventListener('change', handleFiles);
function handleFiles(e) {
var ctx = document.getElementById('canvas').getContext('2d');
var img = new Image;
img.src = URL.createObjectURL(e.target.files[0]);
img.onload = function() {
ctx.drawImage(img, 0, 0, 400, 300);
}
}
推荐阅读
- kubernetes - ceph 15.2.4 -- 身份验证更改 -- 无法与 kubernetes 重新连接
- ruby - 如何在 Ubuntu 18.04 中安装 ruby 2.7.2 (Dockerfile)?
- javascript - 字符串中每 4 个连续数字后换行
- html - 如何填补bootstrap横卡的空白
- .net-core-3.0 - C# 8.0 和 .net 3.0
- apache-spark - Spark dataframe 多维数据集操作给出重复的行
- python - python smypy/matplotlib 输入输出与符号方程
- python - 我如何在 discord.py discord bot 的不和谐排行榜中提及人
- pandas - 在顶部编写熊猫数据框附加文本
- amazon-cloudformation - 使用 CloudFormation 模板运行爬虫