我想做的事我想知道如何使背景顏色變白。我用畫布構建了一個繪圖應用程序。您可以在按住左鍵單擊的同時移動鼠標在畫布上進行繪制。您還可以通過單擊下載按鈕下載您繪制的畫布圖像。但它的背景顏色是黑色(技術上透明)。怎么改成白色?我在此之前發布了同樣的問題。我被建議打開另一個問題,因為我之前的問題中缺少大部分代碼。這個問題有更多細節。我試過的我將以下代碼添加到我的代碼中,但效果不佳。我什么也畫不出來。ctx.fillStyle = "#fff";ctx.fillRect(0, 0, canvas.width, canvas.height);這是我的代碼HTML<button class="btn--download">Download</button><canvas id="draw" width="640" height="640"></canvas><a id="download_link"></a>CSS#draw { display: block; margin: 0 auto; background: #fff; border-radius: 0.3em; box-shadow: 0 0.1rem 0.5rem 0.1rem rgba(43, 12, 1, 0.1);}JavaScript// Canvasconst canvas = document.querySelector('#draw');const ctx = canvas.getContext('2d');ctx.strokeStyle = '#BADA55';ctx.lineJoin = 'round';ctx.lineCap = 'round';ctx.globalCompositeOperation = 'hue';// ctx.fillStyle = "#fff";// ctx.fillRect(0, 0, canvas.width, canvas.height);// I removed fillStyle & fillRect because I couldn't draw anything due to them.let isDrawing = false;let lastX = 0;let lastY = 0;function draw(e) { if (!isDrawing) return; // Stop the fn from running when they are not moused down. console.log(e); ctx.beginPath(); ctx.moveTo(lastX, lastY); ctx.lineTo(e.offsetX, e.offsetY); ctx.stroke(); [lastX, lastY] = [e.offsetX, e.offsetY];}canvas.addEventListener('mousedown', (e) => { isDrawing = true; [lastX, lastY] = [e.offsetX, e.offsetY];});canvas.addEventListener('mousemove', draw);canvas.addEventListener('mouseup', () => isDrawing = false);canvas.addEventListener('mouseout', () => isDrawing = false);我想將下載圖像的背景顏色設為白色。
如何在 JavaScript 中將下載的畫布圖像的背景顏色設為白色?
一只斗牛犬
2021-05-31 09:39:46