このコードは、ユーザーのローカルコンピューターの画像をキャンバスに描画し、それを他のいくつかのキャンバスにスライドさせて、スライドパズルゲームを作成します。
function drawImage(event) {
if (event.target.files.length <= 0) return;
var files = event.target.files;
var URL = window.URL || window.webkitURL;
var img = $("#image")[0];
img.src = URL.createObjectURL(files[0]);
getCanvas("karajan").drawImage(img, 0, 0, img.width, img.height, 0, 0, 450, 450);
...........
}
function getCanvas(id) {
var canvas = $("#" + id)[0];
if (canvas.getContext) {
return canvas.getContext("2d");
}
return undefined;
}
ローカルコンピュータから画像ファイルを入力するタグ
<input type="file" accept="image/*" id="image_input" onchange="drawImage(event)"/>
<img id="image"/>
また、ユーザーが画像を変更したい場合、キャンバスは前の画像で描画します。どうしてか分かりません。drawImage関数の最初の行で、画像は新しい画像に変更され、キャンバスに描画されます