JavaScriptでローカルの画像を読み込んで表示する方法
僕がよく使っていた、JavaScriptで画像処理のやり方を紹介していたサイトが消えてしまったので自分で調べて作ってみることにしました。
こういう感じで表示させます。
inputタグを使って読み込んだファイルをcanvasに表示する方法です
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>ファイル読み込み</title> </head> <body> <canvas id="canvas"></canvas> <input type="file" id="self"> <script> //キャンバスタグ読み込み var canvas = document.getElementById("canvas"); //描画機能を有効にする var ctx = canvas.getContext('2d'); //inputタグの読み込み var src = document.getElementById("self"); //inputが変更されたときのイベントを登録 src.addEventListener('change', function(event){ //選択ファイルを配列形式で取得 var file = event.target.files; //ファイルリーダー var reader = new FileReader(); //ファイルを読み込む reader.readAsDataURL(file[0]); //ファイルを読み込んだときの処理 reader.onload = function(){ //画像オブジェクト作成 var img = new Image(); //画像ソースを入れる img.src = reader.result; //画像の表示 img.onload = function(){ canvas.width = img.width; canvas.height = img.height; ctx.drawImage(img, 0, 0); } } }, false); </script> </body> </html>