2017-08-10 16 views
-1

タイトルは基本的に私の質問です。私は表示するコードがありません(私はどこから始めるべきか分からないでしょう)。そして、これはすべて純粋なJavaScriptである必要があります。PCから画像をアップロードしてキャンバスに描画するにはどうすればよいですか?

+1

あなたが始めることをお勧めしますGoogleはこれを見つける:https://stackoverflow.com/questions/22255580/javascript-upload-image-file-and-draw-it-into-a-canvas。 – Aron

+0

ようこそスタックオーバーフロー! 「どこから始めるのか」と尋ねる質問は、一般に広すぎるため、このサイトには適していません。人々は問題に近づくための独自の方法を持っており、そのために_correct_答えはありえません。 [**開始する場所**](https://softwareengineering.meta.stackexchange.com/questions/6366/where-to-start/6367#6367)をよく読んで、あなたの投稿にお答えください。 – 4castle

+0

@Aronリンクしてくれてありがとう、次にこの質問に重複してフラグを付けることもできます –

答えて

0

drawImage関数を探します(w3schoolsをお勧めします)。あなたのJavaScriptで

最初にキャンバス

const canvas = document.getElementById("canvasID"); 

に取得し、コンテキストを使用して、上のdrawImage関数を呼び出したいものであるキャンバス

const context = canvas.getContext("2d"); 

のコンテキストをthebする必要があります。

context.drawImage(image, xPos, Ypos); 

あなたがdrawImageメソッドに渡す画像はこの方法をロードする必要があります:私はそれを行うだろう

const image = new Image(); 
image.src = "path/image.jpg"; 
image.addEventListener('load',() => 
{ 
    context.drawImage(image, xPos, yPos); 
}); 

方法は、次のとおりです。

window.addEventListener('load',() => 
{ 
    const canvas = document.getElementById("canvasID"); 
    const ctx = canvas.getContext("2d"); 
    const image = new Image(); 
    image.addEventListener('load',() => 
    { 
     ctx.drawImage(image, xPos, yPos); 
    }); 
}); 
+0

これはうまくいきません。私のコードは次のとおりです: window.onload = function(){ var canvas = document.createElement( "canvas"); var c = canvas.getContext( "2d"); canvas.width = 400; canvas.height = 400; document.body.appendChild(canvas); c.fillStyle = "white"; c.fillRect(0,0、canvas.width、canvas.height); var image = new Image(); image.src = "C:\ Users \ Kids \ Desktop \ Game Maker Stuff \ Resources \変更されたスプライトリソース\ Gaster Boss Fight \ gaster \ gaster_full"; image.addEventListener( 'load'、()=> { context.drawImage(image、xPos、yPos); }); c.drawImage(image、0,0); } – Canvas16

+0

xPosとyPosは値ではありません。実際の数値に置き換える必要があります。また、htmlファイルに相対的なパスを使用しようとします。ですから、もしあなたがあなたのhtmlファイルをフォルダに入れ、フォルダ内のイメージがあれば、そのパスは../images/image.pngになります。あなたのhtmlファイルがhtmlファイルと異なるファイルである場合でも、htmlファイルからのパスであることを覚えておいてください。 – danivdwerf

+0

私は実際にhtmlファイルを持っていません。これはマルチファイルプログラムへの私の最初のベンチャーです。 @Aronそのプログラムは実行するたびに手動でアップロードする必要があるため、私のためにはうまくいかない。同じ画像を常に自動的にアップロードするプログラムが必要です。 – Canvas16

関連する問題