上传的图像填充画布Javascript
Uploaded image fill canvas Javascript
我想通过将画布大小设置为图像的大小,使上传的图像填充画布的大小。画布大小设置正确,但图像变小,不填满画布。如何使图像填充画布?这是我到目前为止所做的尝试。
<canvas id="canvas" style="border: 1px solid #000; width: 400px; height: 300px"></canvas>
<input type="file" name="photo" id="image" accept="image/*">
JS
var image = document.getElementById('image');
var canvas = document.getElementById('canvas');
var canvasWidth = 400;
var canvasHeight = 300;
if (image) {
image.addEventListener('change', function () {
var context = canvas.getContext('2d');
if (this.files && this.files[0]) {
var fr = new FileReader();
fr.onload = function (ev) {
var img = new Image();
img.onload = function () {
canvasWidth = img.width;
canvasHeight = img.height;
canvas.style.width = canvasWidth + 'px';
canvas.style.height = canvasHeight + 'px';
context.drawImage(img, 0, 0);
};
img.src = ev.target.result;
};
fr.readAsDataURL(this.files[0]);
}
}, false);
}
var image = document.getElementById('image');
var canvas = document.getElementById('canvas');
var canvasWidth = 400;
var canvasHeight = 300;
if (image) {
image.addEventListener('change', function () {
var context = canvas.getContext('2d');
if (this.files && this.files[0]) {
var fr = new FileReader();
fr.onload = function (ev) {
var img = new Image();
img.onload = function () {
canvasWidth = img.naturalWidth;
canvasHeight = img.naturalHeight;
canvas.width = canvasWidth;
canvas.height = canvasHeight;
context.drawImage(img, 0, 0, canvasWidth, canvasHeight);
};
img.src = ev.target.result;
};
fr.readAsDataURL(this.files[0]);
}
}, false);}
这是你的HTML代码
<canvas id="canvas" width="400" height="300" style="border:1px solid red"></canvas>
<input type="file" name="photo" id="image" accept="image/*">
相关文章:
- 椭圆字幕选择,然后在Photoshop中使用Javascript填充颜色
- 使用javascript填充选择框
- 编辑后无法用Javascript填充文本框
- 用PHP/MMySQL和JavaScript填充几个HTML分区
- HTML5使用Javascript填充文本标记的有效方式
- 使用javascript填充Codeigniter(表单助手)-下拉列表
- 在 asp.net 中用javascript填充国家和城市下拉列表
- 创建唯一选项,然后使用 JavaScript 填充多个选择
- 如何使用Javascript填充输入文本字段
- 使用javascript填充棋盘棋子
- 如何使用由Javascript填充的Python从网站获取数据
- 如何使用行下方的JSON和Javascript填充表
- 停止jQuery表单验证重置由其他JavaScript填充的typeahead.js输入字段
- 用用户输入的javascript填充
- 用javascript填充对象数组
- 当用户输入时打开一个弹出窗口,使用javascript填充表中的输入字段
- 用Javascript填充剑道网格列菜单过滤选项
- 基于var创建JavaScript填充href
- Javascript填充缺失的范围(整数)
- Jquery 移动干扰 JavaScript 填充选择框