2
我不明白爲什麼我的線是不能畫繪畫時不能呆在這。我正在試圖結合2'圖紙'。畫布上的線條從另一個功能
- 網格(平得很清楚)。
- 一些其他的線(也很好地繪製)。
但是當我結合2,我失去了我的線條,或者他們似乎沒有得到繪製。
*請注意,我有2個功能,各獲得上下文。再次,我可以繪製一個,但不能繪製另一個(它們不在畫布上)。另外,閱讀另一個StackOverflow問題,通過添加一個beginPath()來回答,沒有區別。 this one是無用的。
我缺少/做錯了嗎?
var canvas = document.getElementById("canvasId");
canvas.width = 300;
canvas.height = 300;
var ctx = canvas.getContext("2d");
printLogContext(ctx);
console.log(`__________`);
ctx.beginPath();
//drawGrid(ctx, 300, 300);
drawAxes(ctx);
drawGrid(ctx, 300, 300);
function drawAxes(context) {
printLogContext(context);
context.beginPath;
context.strokeStyle = "000000";
context.beginPath();
context.moveTo(0, 150);
context.lineTo(300, 150);
context.moveTo(150, 0);
context.lineTo(150, 300);
context.stroke();
context.closePath();
}
function drawGrid(ctx, width, height) {
var step = 10;
ctx.strokeStyle = "#E5F7F6";
//resetTransform(ctx);
for (var row = 0; row < width; row = row + step) {
ctx.moveTo(0, row);
ctx.lineTo(width, row);
ctx.stroke();
}
for (var col = 0; col < height; col = col + step) {
ctx.moveTo(col, 0);
ctx.lineTo(col, height);
ctx.stroke();
}
}
function printLogContext(ctx) {
(ctx) ? console.log(`Have ctx`): console.log(`Don't habe ctx`);
}
<canvas id="canvasId" style="border: solid"></canvas>
上帝,我覺得自己很蠢。如果你看,我確實嘗試了正確的順序。我之後評論了它。我以爲我有那個#號。捂臉!謝謝你的眼睛! –
如果可以,請跟進...有沒有辦法讓黑線始終存在(不使用圖像或放置的順序)? –
@TinklePooplebottham我不會真的知道,因爲我只使用畫布進行簡單的事情。看來儘管在ctx.beginPath()和ctx.closePath()中包裝每行(*在兩個循環*中)將允許軸顯示(*部分覆蓋*),但我無法解釋爲什麼... –