我正在繪製塗料應用程序,我試圖將畫布居中在屏幕中間。我做了檢測的任何嘗試都已關閉(仍位於屏幕的左上角),但它在屏幕的中心出現在視覺上。 基本上,當我將它移動到屏幕中心時,它不會畫在畫布上。 任何幫助將不勝感激,謝謝.... 下面我有我的代碼...HTML5畫布(簡單的塗料應用)
回答
這不是從你的問題,你是如何圍繞清楚,但你需要考慮的要素的任何偏移量包含您的canvas
當您嘗試將鼠標位置映射到canvas
上的位置時。您可以通過在計算時包含包含元素的offsetLeft
和offsetTop
值(請參見docs)來完成此操作。
如果你抵消div
的包裝了canvas
位置下面的工作(這我給了一個ID,以方便參考):
function move(e) {
// Get the div containing the canvas. Would be more efficient to set this once on document load
var container = document.getElementById('container');
if((e.button == 0) && (mouseIsDown)) {
g.beginPath();
document.onselectstart = function(){ return false; }
//g.fillStyle = "red";
// Account for the offset of the parent when drawing to the canvas
g.arc((e.x - container.offsetLeft) - brush, (e.y - container.offsetTop) - brush, brush, 0, Math.PI * 2);
g.fill();
g.closePath();
}
}
而且一個簡單的演示使用你的小提琴here。
謝謝,我改變了div爲525px;頂部:250px;它把它放在中心,這是可以接受的嗎?它的工作原理? – 2013-04-30 16:33:25
不管窗口大小如何,你可能都不想絕對定位它 - 我只是這麼做的,因爲它是生成測試的一種快速方法。我可能會建議使用諸如margin:0 auto之類的東西。但無論哪種方式該方法應該工作。 – 2013-04-30 16:35:47
噢,那好,非常感謝您爲我節省了很多麻煩,我被卡住了一段時間!再次感謝! – 2013-04-30 16:41:06
- 1. 塗料的基本路線在畫布
- 2. iphone塗料中的應用
- 3. IOS:撤消塗料應用
- 4. html5畫布單元
- 5. 多用戶應用的塗料Node.js的
- 6. 解決:簡單的HTML5畫布操作減慢瀏覽器
- 7. HTML5畫布響應不起作用
- 8. HTML5畫布,smoothZoom
- 9. HTML5畫布getPixel
- 10. 在HTML5畫布
- 11. 從HTML5畫布
- 12. HTML5畫布,GUI
- 13. 圖像中的Android塗料
- 14. 覆蓋塗料的方法?
- 15. Java的塗料成份環
- 16. 在html5畫布上出乎意料的結果arcTo
- 17. Html5,JavaScript,畫布動畫?
- 18. HTML5畫布動畫問題
- 19. 動畫GIF在HTML5畫布
- 20. HTML5畫布線條畫
- 21. 鈦:用於android 2.2的塗料模塊
- 22. html5 - 拖動畫布
- 23. 撕裂HTML5畫布?
- 24. HTML5「畫布爲空」
- 25. HTML5畫布:像素
- 26. HTML5畫布標記
- 27. HTML5畫布繪製
- 28. html5畫布問題
- 29. HTML5畫布錯誤
- 30. HTML5畫布問題?
您的代碼不在下面。 – 2013-04-30 15:37:14
我不能發佈我的代碼,因爲我的聲望低於10.我可以發佈任何地方,所以你可以看到? – 2013-04-30 15:53:19
[jsfiddle](http://jsfiddle.net/)會比沒有好。 – 2013-04-30 15:54:31