所以我知道context.clearRect
使像素透明,但我想知道,是否有一個函數,使像素半透明?畫布clearrect,與阿爾法
例如,假設我有這些顏色的畫布(第四個在每個顏色是阿爾法):
#ffff #feef #abff
#5f6f #000f #ffff
運行clearRect
就解決了這個(或東西,只是讓他們全部透明):
#fff0 #fee0 #abf0
#5f60 #0000 #fff0
我想刪除不透明度,但不能使它透明的(有點像globalAlpha
爲clearRect
),以便它可以結束這樣的(可以說,我設置globalAlpha
相當於0.5):
#fff8 #fee8 #abf8
#5f68 #0008 #fff8
這可能嗎?或者只是在屏幕畫布上繪製所有內容,然後在屏幕上繪製該畫布(使用globalAlpha
設置)會更簡單?
讓我知道,如果這不是明確的任何方式。
您可以使用'context.fillColor =「rgba(0-255,0-255,0-255,0-1)」'並使用fillRect。第四個參數是alpha值。 0是最大透明度,1是完全不透明的。 –
@gfcarv是的,這是我想要的,但我不想要一種顏色。我想刪除不透明(我使用運動模糊,我需要的背景是透明的) – MiJyn
檢查此線程:http://stackoverflow.com/questions/5304199/html-canvas-motion-blur-with-transparent -background我認爲使用離屏畫布會更簡單。您可以使用'getImageData'逐個更改像素顏色,並使用'putImageData'來反映畫布中的更改,但您不想那麼做,因爲效率非常低。 –