CanvasRenderingContext2D.filter로 사진을 저장하는 데 문제가 있습니다. 동영상에 연결하여 필터없이 촬영하려고하면 정상적으로 저장됩니다. 그러나 캔버스에 일부 필터를 추가 한 후에는 필터없이 HTM 파일로 저장하거나 이전 사진을 반환합니다. 이상한 점은 클릭하여 수동으로 스크린 샷을 다운로드하는 동안 자체 toDataUrl이 있고 일반적으로 다운로드하고 필터가 포함되어 있지만 toDataUrl을 사용하여 저장하는 동안 여전히 해당 그림을 볼 수 없다는 것입니다. 이러한 필터를 사용하여 사진을 저장하려면 어떻게해야합니까?CanvasRenderingContext2D 필터로 캔버스 저장
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var video = document.getElementById("video");
document.getElementById("snapshot").addEventListener("click", function() {
if ($('video').hasClass('blur')) {
context.filter ="blur(2px)";
}
else {
context.filter= "";
}
context.drawImage(video, 0, 0);
});
document.getElementById("download").addEventListener("click", function() {
download.href = canvas.toDataURL("image/jpeg");
};
.blur {
-webkit-filter: blur(3px);
-moz-filter: blur(3px);
-ms-filter: blur(3px);
-o-filter: blur(3px);
filter: blur(3px);
}
<video id="video" autoplay></video>
<canvas id="canvas"></canvas>
<button id="download" download="picture" href=""></button>