[英]Compress Image size JavaScript
我正在做一个项目,我们可以从视频中拍摄快照。 您可以在下面查看我的代码段。
function snapshot(){
context.drawImage(video, 0, 0, w, h);
img = document.createElement("img");
img.src = canvas.toDataURL();
}
w,h只是视频的宽度和高度。 这些计算如下。
video.addEventListener('loadedmetadata', function() {
var ratio = video.videoWidth / video.videoHeight;
w = video.videoWidth - 100;
h = parseInt(w / ratio, 10);
w= w-100; h= h-100;
canvas.width = w;
canvas.height = h;
}, false);
我在这里获得的base64映像大约为260kb。 我想将此图像减小到80kb以下。
我尝试使用canvas.toDataURL('image/png', 0.2)
但没有用。
仅当图像类型为jpeg
或webp
时,质量设置才有效。 尝试使用以下内容:
canvas.toDataURL("image/jpeg", 0.1);
例如,从Docs中 :
0到1之间的数字表示所请求的类型是
image/jpeg
或image/webp
图像质量。
如果此参数为其他任何参数,则使用图像质量的默认值。 其他参数将被忽略。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.