非常简单的问题,但我在任何地方都找不到文档。如何告诉 canvas.toDataURL() 将文件保存为 PNG-8?
thumbnail = canvas.toDataURL();
我知道我可以传递“image/jpeg”来获取 jpeg,但是 PNG-8 怎么样?
最佳答案
目前,在任何主流浏览器中都没有通用的内置方法来生成调色板索引的 PNG。浏览器只有required to support basic PNG 24 位位图和 Alpha。
虽然,他们可以自由地支持他们想要的任何其他格式,但他们不太可能远离跨浏览器兼容的格式(存在一些异常(exception),但不常用,例如 Safari 中的 TIFF、Firefox 中的 ICO) .
要使其在今天发挥作用,您需要提取像素,将颜色量化到调色板中,然后编译文件,格式化位图,对其进行编码并压缩 - 然后将其保存。这是可行的,但它本身就是一个项目。
可以选择查看 TinyPNG 等服务[我不隶属]。他们提供 API它可用于以编程方式发送普通 PNG 并返回最小化的 PNG,通常表示“PNG8”。
关于javascript - 如何使用toDataURL设置为PNG8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42818725/