概要
JS/ES/JQueryで、ローカルのファイルを読み込んでcanvas
に表示する手順。
大まかな流れは以下の通り。
Image
クラスのオブジェクトを準備するdocument
読み込み後(onload/ready
)に以下を実行canvas
要素の取得canvas
からcontext
の取得- 画像ファイル選択時の処理
- 選択されたファイルの
File
オブジェクトの取得 FileReader
オブジェクトを構築FileReader
にdata:URL
として読み込みFileReader
の読み込み完了時のリスナー登録- 読込後にリーダーの読み込み結果を
Image.src
にセット
- 読込後にリーダーの読み込み結果を
- 選択されたファイルの
Image
オブジェクトのロード後のリスナー登録context.drawImage
でcanvas
に描画
HTML
body
内のhtmlは以下の通り。
input
要素のtype
属性をfile
とすることで、HTML5のAPIが利用可能となる。
canvas
のサイズは、ここではhtmlで設定しているが、スクリプトで動的に設定して画像サイズとcanvas
のサイズを合わせることもできる。
JavaScript
全体の構造は以下の通り。ドキュメント内でグローバルに使う可能性があるImageオブジェクト以外は、onload/ready後の処理に入れている。