如果我在toDataURL()中传递“image / jpeg”,我就失去了质量?

时间:2014-01-08 14:31:46

标签: html5 canvas jpeg todataurl

我试图将html5画布数据保存到服务器如果我将“image / jpeg”作为toDataURL()方法中的第一个参数传递我丢失了质量?

如何在图像上保持相同的质量

1 个答案:

答案 0 :(得分:1)

要定义您自己的图像质量,请使用:toDataURL( type , quality );

toDataURL('image/jpeg', 1  ); // HQ
// 0.92 = FF default
toDataURL('image/jpeg', 0.4); // LQ

MDN Docs

  

toDataURL(在可选的DOMString类型中,在任何... args中)DOMString返回一个数据:包含按类型指定的格式(默认为PNG)的图像表示的URL。返回的图像是96dpi。

     
      
  • 如果画布的高度或宽度为0,则返回表示空字符串的“data:,”。
  •   
  • 如果请求的类型不是image / png,并且返回的值以data:image/png开头,则不支持请求的类型。 Chrome支持图片/网络类型。
  •   
  • 如果请求的类型是image / jpeg或image / webp,则第二个参数,如果它位于0.01.0之间,将被视为指示图像质量;如果第二个参数是其他参数,则使用图像质量的默认值。其他参数被忽略。
  •