我有一個帶白色背景的畫布。所以,當我想清楚了,有沒有使用清除和用畫布中的背景色填充矩形之間的區別
clearRect();
fillStyle="#FFFFFF";
fillRect();
和
fillStyle="#FFFFFF";
fillRect();
之間的區別是使用其中的任何被認爲是更好的做法還是對的getImageData()
的結果產生影響?
我有一個帶白色背景的畫布。所以,當我想清楚了,有沒有使用清除和用畫布中的背景色填充矩形之間的區別
clearRect();
fillStyle="#FFFFFF";
fillRect();
和
fillStyle="#FFFFFF";
fillRect();
之間的區別是使用其中的任何被認爲是更好的做法還是對的getImageData()
的結果產生影響?
如果您沒有先清除它,那麼您將在之前的工作之上進行繪圖。如果您沒有使用任何透明膠片,也許這是好的。
另一個區別是clearRect()不使用白色背景。它使用一個透明的。
好的,但是當我在頂部繪製時,它對'imageData'沒有任何影響嗎? – Tom
帆布只知道像素。當您覆蓋像素時,舊數據無法保存。 –
我認爲'clearRect'只是畫一個透明的黑色矩形。如果你畫那個矩形,它應該是沒用的。 – Oriol
如果要填充畫布,沒有必要清除畫布,它對getImageData方法沒有任何影響,因爲它只是讀取像素數據,不管它是什麼或創建方式。我個人創建了一個小圖片並使用'drawImage(background,0,0,canvas.width,canvas.height);'因爲它提供了顯着的性能優勢,特別是當你有畢業背景時。圖像只需要8×8像素。 – Blindman67
@ Blindman67 ahh okk謝謝! – Tom