我正在繪製塗料應用程序,我試圖將畫布居中在屏幕中間。我做了檢測的任何嘗試都已關閉(仍位於屏幕的左上角),但它在屏幕的中心出現在視覺上。 基本上,當我將它移動到屏幕中心時,它不會畫在畫布上。 任何幫助將不勝感激,謝謝.... 下面我有我的代碼...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. HTML5中的多畫布層塗料應用程序
- 2. 塗料應用HTML5和發送電郵
- 3. 塗料的基本路線在畫布
- 4. iphone塗料中的應用
- 5. IOS:撤消塗料應用
- 6. HTML5/Javascript - 我的簡單的畫布動畫不起作用
- 7. 多用戶應用的塗料Node.js的
- 8. Java簡單的塗料代碼不起作用
- 9. 動畫wxDC塗料的最佳方法
- 10. html5畫布單元
- 11. 簡單的噴塗例如
- 12. 簡單塗料程序 - 新行不被識別
- 13. 使用HTML5畫布
- 14. HTML5帆布貝塞爾塗抹
- 15. 解決:簡單的HTML5畫布操作減慢瀏覽器
- 16. Html5畫布動畫
- 17. 用新的HTML5畫布
- 18. HTML5畫布繪製應用問題
- 19. HTML5畫布響應不起作用
- 20. HTML5畫布不能應用sw濾鏡
- 21. 圖像中的Android塗料
- 22. 覆蓋塗料的方法?
- 23. Java的塗料成份環
- 24. onmouse畫布HTML5
- 25. HTML5畫布,GUI
- 26. 從HTML5畫布
- 27. 對HTML5畫布
- 28. HTML5畫布API
- 29. HTML5畫布ScreenToIso
- 30. HTML5畫布getPixel
您的代碼不在下面。 – 2013-04-30 15:37:14
我不能發佈我的代碼,因爲我的聲望低於10.我可以發佈任何地方,所以你可以看到? – 2013-04-30 15:53:19
[jsfiddle](http://jsfiddle.net/)會比沒有好。 – 2013-04-30 15:54:31