Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML/javascript客户端图像压缩看起来是一个合理的、傻瓜式的计划吗?_Javascript_Html_Image_Canvas_Webp - Fatal编程技术网

HTML/javascript客户端图像压缩看起来是一个合理的、傻瓜式的计划吗?

HTML/javascript客户端图像压缩看起来是一个合理的、傻瓜式的计划吗?,javascript,html,image,canvas,webp,Javascript,Html,Image,Canvas,Webp,我有一个计划,在我创建的聊天中添加图像,但问题是我有少量的带宽可供使用,而且我不想耽搁太久,所以文件压缩的形式看起来合法且安全吗?如果在任何常见的broswer上打开developer tools,您可以看到本地压缩器进出的字节数,以及经过的时间 当使用相同的图像时,每台计算机上的每个结果都不同,当Chrome可用时,它使用的格式也不同,因为它比任何其他格式占用的空间都少。GIF失去了动画,PNG失去了透明度 我有什么遗漏吗?它将HTML5的canvas.toDataURL()压缩和LZW压缩结

我有一个计划,在我创建的聊天中添加图像,但问题是我有少量的带宽可供使用,而且我不想耽搁太久,所以文件压缩的形式看起来合法且安全吗?如果在任何常见的broswer上打开developer tools,您可以看到本地压缩器进出的字节数,以及经过的时间

当使用相同的图像时,每台计算机上的每个结果都不同,当Chrome可用时,它使用的格式也不同,因为它比任何其他格式占用的空间都少。GIF失去了动画,PNG失去了透明度

我有什么遗漏吗?它将HTML5的
canvas.toDataURL()
压缩和LZW压缩结合在一起,以提供最大的结果。它可以在Chrome和IE10上运行,我还没能在其他浏览器上测试它。我的目标不是让它与所有浏览器兼容,而是提供一种方便的压缩形式

它结合了HTML5的
canvas.toDataURL()
压缩

这不是“压缩”,而是“编码”,这是个坏主意。您没有压缩任何内容,将图像转换为base64编码的数据URI将解压图像,因为base64中可以容纳的字节比实际256位二进制编码中少得多。LZW压缩结果文本的好处微乎其微

它结合了HTML5的
canvas.toDataURL()
压缩


这不是“压缩”,而是“编码”,这是个坏主意。您没有压缩任何内容,将图像转换为base64编码的数据URI将解压图像,因为base64中可以容纳的字节比实际256位二进制编码中少得多。LZW压缩结果文本的好处微乎其微。

您可以将图像放在另一台主机上。有很多免费图片的托管服务


您的带宽将是安全的,无需数据传输。但这取决于你需要对这些图片做什么…

你可以将你的图像放在另一台主机上。有很多免费图片的托管服务


您的带宽将是安全的,无需数据传输。但这取决于你需要对这些图片做什么…

哪种形式的文件压缩?请在问题中包括回答问题所需的所有内容。哪种形式的文件压缩?请在问题中包含回答问题所需的所有内容。base64编码会增加大约33%的开销。来源:那么如果我将数据URI的数据转换成二进制字符串,然后使用LZW压缩,你会高兴吗?不,你不应该应用任何LZW压缩。格式本身是压缩的,浏览器将为您执行此操作。你试图压缩已经压缩过的数据,这是行不通的。我承认有点愚蠢,但如果你阅读developer.mozilla.org:如果请求的类型是image/jpeg或image/webp,那么第二个参数,如果它在0.0和1.0之间,则被视为指示图像质量;如果第二个参数是其他参数,则使用图像质量的默认值。其他参数被忽略。canvas toDataURL用于只输出未压缩的png,这占用了大量空间;jpg将大大减少b64编码33%的开销……base64编码将增加约33%的开销。来源:那么如果我将数据URI的数据转换成二进制字符串,然后使用LZW压缩,你会高兴吗?不,你不应该应用任何LZW压缩。格式本身是压缩的,浏览器将为您执行此操作。你试图压缩已经压缩过的数据,这是行不通的。我承认有点愚蠢,但如果你阅读developer.mozilla.org:如果请求的类型是image/jpeg或image/webp,那么第二个参数,如果它在0.0和1.0之间,则被视为指示图像质量;如果第二个参数是其他参数,则使用图像质量的默认值。其他参数被忽略。canvas toDataURL用于只输出未压缩的png,这占用了大量空间;jpg将大大减少b64编码33%的开销。。。