Javascript 画布到dataURL图像Png质量不工作

Javascript 画布到dataURL图像Png质量不工作,javascript,canvas,png,todataurl,pixel-ratio,Javascript,Canvas,Png,Todataurl,Pixel Ratio,我一直在尝试将HTML5画布转换为低质量的dataUrl,因为我必须通过服务器传输dataUrl文件,但不管我是否这样做 dataURL = document.getElementById('canvas').toDataURL("image/png", 1); 或 质量没有改变,字符串长度保持不变,当我下载回这两种情况下的图像时,质量是相同的,知道我做错了什么吗 这是一个例子,但我正在做的画布有一个更好的像素比,是详细的 const canvas=document.querySelector

我一直在尝试将HTML5画布转换为低质量的dataUrl,因为我必须通过服务器传输dataUrl文件,但不管我是否这样做

dataURL = document.getElementById('canvas').toDataURL("image/png", 1);

质量没有改变,字符串长度保持不变,当我下载回这两种情况下的图像时,质量是相同的,知道我做错了什么吗

这是一个例子,但我正在做的画布有一个更好的像素比,是详细的
const canvas=document.querySelector('canvas')
const button=document.querySelector('按钮')
const ctx=canvas.getContext('2d')
canvas.width=window.innerWidth
canvas.height=window.innerHeight
ctx.fillStyle='red'
ctx.fillRect(50,50,100,100)
ctx.fillStyle='绿色'
ctx.fillRect(60,60,80,80)
ctx.fillStyle='white'
ctx.font=“bold 20px无衬线”
fillText(“多大的正方形啊!”,0,90)
document.getElementById(“b1”).addEventListener('click',()=>{
让data=canvas.toDataURL(“image/png”,0.000001);
下载图像(数据,“low.png”);
})
document.getElementById(“b2”).addEventListener('click',()=>{
让data=canvas.toDataURL(“image/png”,1.0);
下载图像(数据,“high.png”);
})
函数downloadImage(数据,文件名='untitled.png'){
常量a=document.createElement('a');
a、 href=数据;
a、 下载=文件名;
文件.正文.附件(a);
a、 单击();
}
Save Low
高储蓄

因为PNG是一种无损格式。您无法调整质量,因为它始终为1

从:

介于0和1之间的数字,表示要用于图像的图像质量 使用有损压缩的格式,如image/jpeg和image/webp


该参数仅对有损压缩有效,即jpeg和webp。PNG是无损的,因此质量的概念不适用。哪种格式在视觉质量/压缩方面更好?jpg只适用于照片,对于任何类似徽标或具有文字特征的内容,您应该使用其他格式。哪种格式在视觉质量/压缩方面更好?不客气。如果我的答案是正确的,请不要忘记把它标记为已接受。这是一个不同的问题,但当然Webp比Jpg要好得多(因为它比Jpg更近20年了……),然而,Safari和苹果设备一般不支持它(因为它是由谷歌开发的,苹果不喜欢谷歌),所以你不得不在苹果设备上使用Jpg。
dataURL = document.getElementById('canvas').toDataURL("image/png", 0.00001);