我正在使用HTML5繪製線條。但是,當畫布的寬度和高度很大時,它無法在Chrome中正常工作。我似乎無法在html5畫布上繪製線條
我使用鉻19.0.1084.52,我的操作系統是Windows 7
有沒有人使用http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_canvas_line進行測試?
如果增加畫布的寬度和高度,則線條消失。
在鉻中有沒有任何最大高度和寬度的畫布,有沒有人有解決方案?
我正在使用HTML5繪製線條。但是,當畫布的寬度和高度很大時,它無法在Chrome中正常工作。我似乎無法在html5畫布上繪製線條
我使用鉻19.0.1084.52,我的操作系統是Windows 7
有沒有人使用http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_canvas_line進行測試?
如果增加畫布的寬度和高度,則線條消失。
在鉻中有沒有任何最大高度和寬度的畫布,有沒有人有解決方案?
線條的最大寬度和高度取決於使用的瀏覽器。
如果你想繪製非常寬的線,然後你畫一個矩形,並將其轉換到正確的位置,並將其旋轉到線的角度。
有可能是一個寬度和高度的限制,但我覺得這是不夠的,
這http://jsfiddle.net/AkashSaikia/4c75a/
它有大尺寸
發揮每W3C這裏 它像這與無符號的長度大約是0到4,294,967,295
interface HTMLCanvasElement : HTMLElement {
attribute unsigned long width;
attribute unsigned long height;
DOMString toDataURL(optional DOMString type, any... args);
void toBlob(FileCallback? _callback, optional DOMString type, any... args);
object? getContext(DOMString contextId, any... args);
};
但是,如測試一次大約需要0到2147483647
看到這裏http://jsfiddle.net/AkashSaikia/9EWad/1/
而當或者你是如何改變Canavas的高度和寬度?
FIY,如果您更改畫布的高度和寬度屬性,那麼它將清除畫在它上面的東西。
這是一個有趣的問題!
與我的Chrome和Firefox的測試後,我發現:
如果您的畫布寬度大於該數量r,什麼都不會畫出來。
我不知道爲什麼會有這樣的限制。 也許我們可以通過瀏覽器的源代碼找出根本原因!
以下代碼是一個示例。你可以click here to run it。
<!DOCTYPE html>
<html>
<body>
If canvas width is greater than 32767, Chrome can't draw anything.<br>
<canvas id="myCanvas" width="32768" height="100"></canvas>
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.lineWidth = 5;
ctx.moveTo(10,50);
ctx.lineTo(300,50);
ctx.stroke();
</script>
</body>
</html>
根據我的經驗,至少在iOS設備上存在畫布渲染的大小限制。這是由於GPU內存有限,因爲畫布通常是現在硬件加速的。
對於iOS設備,對於具有256 + MB內存的設備,最大尺寸爲5兆像素,對於內存較少的設備,最大尺寸爲3兆像素。
<!DOCTYPE html>
你能測試這段代碼嗎?它不起作用我的瀏覽器 – Ranjith上面的代碼不工作我的鉻。我只將畫布寬度的大小設置爲600和高度1000. ande line繪製表單10,10至320,50並返回至10,50。 – Ranjith
在這裏你可以看到http://jsfiddle.net/AkashSaikia/6wHj2/ 它的工作,最新的問題... –