我試圖混合兩個的ImageData對象到一個單一的對象,以獲得類似於本link混合兩個的ImageData成一個的ImageData與在Javascript
以下所示的畫面結果是Javascript代碼有兩個ImageData
var redImage = copy.getImageData((SCREEN_WIDTH - VIDEO_WIDTH)/2,(SCREEN_HEIGHT - VIDEO_HEIGHT)/2,VIDEO_WIDTH,VIDEO_HEIGHT);
var bluImage = copy.getImageData((SCREEN_WIDTH - VIDEO_WIDTH)/2,(SCREEN_HEIGHT - VIDEO_HEIGHT)/2,VIDEO_WIDTH,VIDEO_HEIGHT);
var redData = redImage.data;
var blueData = blueImage.data;
// Colorize red
for(var i = 0; i < redData.length; i+=4) {
redData[i] -= (redData[i] - 255);
}
redImage.data = redData;
// Draw the pixels onto the visible canvas
disp.putImageData(redImage,(SCREEN_WIDTH - VIDEO_WIDTH)/2 - 25,(SCREEN_HEIGHT - VIDEO_HEIGHT)/2);
// Colorize cyan
for(var i = 1; i < blueData.length; i+=4) {
blueData[i] -= (blueData[i] - 255);
blueData[i+1] -= (blueData[i+1] - 255);
}
blueImage.data = blueData;
// Draw the pixels onto the visible canvas
disp.putImageData(blueImage,(SCREEN_WIDTH - VIDEO_WIDTH)/2 + 25,(SCREEN_HEIGHT - VIDEO_HEIGHT)/2);
我怎麼合併/融入redData和blueData之前把它放在畫布上?
這將兩個圖像混合一到一個,但我需要具有的說這兩個圖像之間的50個像素的偏移量。我可以做這樣的代碼嗎('var mixFactor = 0.5; //主圖像佔優勢 //我們使用紅色緩衝區作爲這個例子的主緩衝區 (var i = 0; i
Vidhuran
@Vidhuran混合相同的圖像只有偏移差異不會給你3D。您需要拍攝兩張*圖像,並略有偏移(通常相隔5-7釐米,鏡頭指向相同方向)。當你混合這兩個圖像時,你會得到一個3D效果。除非3D不是你想要的?如果你只是在混合前使用'ctx.drawImage(canvas,offset,0)'到同一個畫布。 – K3N
至少根據我在問題中發佈的鏈接,通過合併相同的圖像和偏移量,可以實現輕微的「彈出」/「彈出」效果。 – Vidhuran