• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数選択した画像のキャンバスへの描画につい)

選択した画像ファイルをすべて表示するにはどうしたらいいのか教えてください。

このQ&Aのポイント
  • HTML5のタグを使用して複数の画像ファイルを選択し、キャンバスに描画する方法を紹介しています。
  • 選択した画像ファイルをキャンバスに描画する際に、ファイルの数が増えると最後の画像ファイルしか描画されない問題が発生します。
  • この問題を解決するには、画像を描画する前にキャンバスのサイズを適切に設定する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

いくつかの処理の位置を変更すると上手くいくかと。 1.var image = new Image();は、reader.onload内で実行する。 2drwX、drwYの更新タイミングを、image.onloadに変更。 reader.onload = function(evt) { var image = new Image(); image.onload = function() { ctx.drawImage(image, drwX, drwY, 50, 50); drwX += 50;//次の画像の描画位置を右へ50px drwY += 50;//              下へ50px }; // 画像のソースに、ファイルのURLを設定 image.src = evt.target.result; } // 読み込んだデータをBase64でエンコードしURLへ reader.readAsDataURL(file);

dcock3
質問者

お礼

解決しました!! var image = new Image(); を reader.onload = function(evt) 内に移動することで解決しました。 有難うございました。

関連するQ&A