2013-05-01 25 views
8

私はフォトギャラリーを作っていますが、私のすべての画像は原点(0,0)に描かれています。キャンバスの中央に画像を描く

canvasContent.drawImage(arrPhoto[currentIndex], 0, 0); 

私のイメージがキャンバスオブジェクトの中央に描かれていることを確認するにはどうすればよいですか?

私を助けてくれてありがとう!

UPDATE

私は私の質問は少し間違って形成されている場合があります。 私の言いたいことは、イメージの真ん中がキャンバスの真ん中にあり、イメージの上端ではないことです。

その

編集のため申し訳ありません:誤植

EDIT2:タイプミス

答えて

22

あなたがそうのようなx, y位置供給した場合:

var image = arrPhoto[currentIndex]; 
canvasContent.drawImage(image, 
     canvas.width/2 - image.width/2, 
     canvas.height/2 - image.height/2 
); 

を、それが中央に表示されます。これの実際の例はhttp://jsfiddle.net/VPLZc/2/です。

+0

素晴らしい、それはそれを解決! ありがとうございました – Matt

+0

@マークこれは良い答えです。これで私を助けてくださいできますか?http://stackoverflow.com/questions/17487277/rotating-2-images-on-canvas ありがとうございました。 – Beginner

1

は(常に0,0である - 左上)、原点オフセット中央に描画を開始する+ (image.width/2)+ (image.height/2)でキャンバスの

drawImage(image, image.width/2, image.height/2) 
+0

それもうまくいったが、私は質問を誤って書いた。しかし、私の質問はすでに解決されています。ありがとう! – Matt

3

デッドを中央に描画する場合は、イメージの幅と高さを知る必要があります。これは、その後容易になる:

//var canvas = document.getElementById("yourCanvasElementID"); 
var img = arrPhoto[currentIndex]; 
canvasContent.drawImage(img, (canvas.width-img.width)/2, (canvas.height-img.height)/2); 
+0

それもうまくいったけど、私は質問を誤って書いた。しかし、私の質問はすでに解決されています。ありがとう – Matt

関連する問題