我正在一个极简主义的图像创建项目上,我需要能够在浏览器中创建依次在服务器上使用的图像。到目前为止,Canvas.toDataUrl()
方法已经满足了我们的需求,但是我刚刚了解了Canvas.toBlob()
方法,它将更加方便。
似乎toBlob()
方法对规范来说是新的几个月(我找不到添加它时的任何直接引用。)
哪些浏览器支持toBlob
,更重要的是,那些浏览器的哪个版本包含该方法的集成?另外,是否支持此功能“ buggy ”或正在开发任何主流浏览器?
更新
我在8年前问过这个问题。我已经提交了我之前提到的项目,等待canvas.toBlob()
方法状态的任何更新。从我在网络上可以收集到的信息来看,toBlob()
的实现似乎正在一些浏览器中广泛使用。
我再问一次,在开始集成HTML5 canvas对象的浏览器中,canvas.toBlob()
方法有多普遍?这些浏览器的哪个版本是第一个集成此支持的浏览器?
最佳答案
自 2016年2月以来,这些浏览器支持toBlob()
msToBlob()
请注意,此答案最初是在2011年撰写的。下面的原始答案/编辑。
toBlob()
是,实际上是新功能,除非您可以明确要求他们使用特定的浏览器(或控制环境),否则我建议您不要在消费者应用中使用它。toBlob()
被添加到May 12th上,并且功能受限。 Chrome每晚,firefox每晚或IE9中都不存在该功能。值得注意的是,Firefox确实具有功能mozGetAsFile
甚至还没有discussion for adding it to Chrome。
关于Firefox.的讨论他们决定等到规范更加明确后再尝试实现。
toBlob()
的规范非常模糊,许多内部问题仍未解决。他们甚至还不确定典型的toBlob()
使用哪种参数。,2012年4月10日更新
toBlob仍然不受支持。 Chrome Canary(夜间),Firefox Nightly或IE9上仍然不存在该功能。
如果您想在Chrome星标中查看更新,请执行以下操作:
http://code.google.com/p/chromium/issues/detail?id=67587
如果要在Firefox中查看更新,请在此处订阅此错误:
https://bugzilla.mozilla.org/show_bug.cgi?id=648610
更新:从2016年2月21日开始,.toBlob现在可以在chrome 50(当前为canary)中使用