2017-03-05 22 views
1

JSとHTMLのやりとりがかなり新しいです。HTMLで画像をアップロードすることができるかどうかを知りたいのですが)、そしてJS Canvasに表示することで、jQueryを使わずにJavascriptを使って変更することができます。HTMLで画像をアップロード/読み込み、JSキャンバスに表示

イメージを次のように呼び出すことができます。Image(img、0、0)..マウスを押したときに背景またはポイントを追加します。

私は尋ねていることと、私が求めていることは、ばかげていることは知っていますが、私はこの主題では新しいと言っています。

私は、例えばsimilarsの質問へのリンクなど、あらゆる種類のヘルプに感謝します。

おかげ

ジョバンニ

+1

あなたがこれまで行ってきたものを掲載。 – CaptainHere

+0

これをチェックしてください[Stackoverflow:javascript-upload-image-file-and-draw-it-a-canvas](http://stackoverflow.com/questions/22255580/javascript-upload-image-file-and- – Himanshu

+0

まだ画像がHTMLキャンバスに表示されていますが、Javascriptを使ってImageにポイントを追加するのはどうですか?私はです:javascriptで画像を描画する関数Draw –

答えて

-1

元記事へのリンク:stackoverflow: javascript-upload-image-file-and-draw-it-into-a-canvas

コード:

function el(id){return document.getElementById(id);} // Get elem by ID 
 

 
var canvas = el("canvas"); 
 
var context = canvas.getContext("2d"); 
 

 
function readImage() { 
 
    if (this.files && this.files[0]) { 
 
     var FR= new FileReader(); 
 
     FR.onload = function(e) { 
 
      var img = new Image(); 
 
      img.onload = function() { 
 
      context.drawImage(img, 0, 0); 
 
      }; 
 
      img.src = e.target.result; 
 
     };  
 
     FR.readAsDataURL(this.files[0]); 
 
    } 
 
} 
 

 
el("fileUpload").addEventListener("change", readImage, false);
<input type='file' id="fileUpload" /> 
 
<canvas id="canvas" width="900" height="600"></canvas>

+0

こんにちは、ありがとう、私は今、それは恥ずかしい原因のためにアップロードしません しかし、まだ画像は、HTMLキャンバスに表示されます、どのように私が好きかもしれないJavascriptを介して画像上のポイント? –

+0

を参照してください。 あなたはすでにコンテキストを取得しています。(詳細は、http://stackoverflow.com/questions/7812514/drawing-a-dot-on-html5-canvasを参照してください)キャンバスの 'context'変数に置き換えます。 – Himanshu

+0

一度ファイルを選択すると、あらかじめロードしてから、関数draw [asset(img、0、0)]を使ってアセットフォルダにプリロードしたように表示する方法はありません。 –

1

たぶん、あなたはこのような何かを試みることができる...

var fileUpload = document.getElementById('fileUpload'); 
 
var canvas = document.getElementById('canvas'); 
 
var ctx = canvas.getContext("2d"); 
 

 
function readImage() { 
 
    if (this.files && this.files[0]) { 
 
     var FR= new FileReader(); 
 
     FR.onload = function(e) { 
 
      var img = new Image(); 
 
      img.src = e.target.result; 
 
      img.onload = function() { 
 
      ctx.drawImage(img, 0, 0, 512, 512); 
 
      }; 
 
     };  
 
     FR.readAsDataURL(this.files[0]); 
 
    } 
 
} 
 

 
fileUpload.onchange = readImage; 
 

 
canvas.onclick = function(e) { 
 
    var x = e.offsetX; 
 
    var y = e.offsetY; 
 
    ctx.beginPath(); 
 
    ctx.fillStyle = 'black'; 
 
    ctx.arc(x, y, 5, 0, Math.PI * 2); 
 
    ctx.fill(); 
 
};
#canvas { 
 
    border: 1px solid black; 
 
    margin-top: 10px; 
 
}
<input type='file' id="fileUpload"/> 
 
<canvas id="canvas" width="512" height="512"></canvas>

関連する問題