FileAPIで画像を読み込み canvasに描画
2018-01-223 min read
目次
概要
「FileAPIを使って画像を読み込み、イベント終了と同時に自動的にcanvasに描画したい!」
FileAPIを使って読み込んだ画像を、imgタグを使って画像を表示をすることは容易であったが、 canvasに描画するのに少々手間取ったので、これをメモとして残すことにしました。
流れ
- FileAPIでローカルにある任意の画像を選択し読み込む
- canvasに描画
Image.onloadを使う方法
Image.onloadを使えば一発だった。
const canvas = document.getElementById('canvas');
document.querySelector('input[type="file"]').onchange = function() {
let img = this.files[0];
let reader = new FileReader();
reader.readAsDataURL(img);
reader.onload = function() {
drawImage(reader.result);
};
};
function drawImage(url) {
let ctx = canvas.getContext('2d');
let image = new Image();
image.src = url;
image.onload = () => {
canvas.width = image.width;
canvas.height = image.height;
ctx.drawImage(image, 0, 0);
};
}
追記
デモを作りました。
Recommends
New Posts
Hot posts!
Date
Tags
(110)
(54)
(54)
(47)
(45)
(36)
(30)
(29)
(24)
(24)
(22)
(21)
(21)
(20)
(19)
(17)
(16)
(16)
(15)
(14)
(12)
(12)
(12)
(12)
(12)
(12)
(11)
(10)
(10)
(10)
(10)
(10)
(9)
(9)
(8)
(8)
(8)
(8)
(7)
(7)
(6)
(6)
(6)
(6)
(6)
(5)
(5)
(5)
(5)
(4)
Author