亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 JavaScript 中將下載的畫布圖像的背景顏色設為白色?

如何在 JavaScript 中將下載的畫布圖像的背景顏色設為白色?

一只斗牛犬 2021-05-31 09:39:46
我想做的事我想知道如何使背景顏色變白。我用畫布構建了一個繪圖應用程序。您可以在按住左鍵單擊的同時移動鼠標在畫布上進行繪制。您還可以通過單擊下載按鈕下載您繪制的畫布圖像。但它的背景顏色是黑色(技術上透明)。怎么改成白色?我在此之前發布了同樣的問題。我被建議打開另一個問題,因為我之前的問題中缺少大部分代碼。這個問題有更多細節。我試過的我將以下代碼添加到我的代碼中,但效果不佳。我什么也畫不出來。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);我想將下載圖像的背景顏色設為白色。
查看完整描述

2 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

刪除此行

ctx.globalCompositeOperation = 'hue';

這就是使您的筆觸在白色背景上呈白色的原因。


查看完整回答
反對 回復 2021-06-03
  • 2 回答
  • 0 關注
  • 269 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號