在canvas.toDataURL中检测浏览器对图像类型的支持 [英] Detect browser support for image type in canvas.toDataURL

查看:53
本文介绍了在canvas.toDataURL中检测浏览器对图像类型的支持的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 canvas.toDataURL()< canvas> 元素获取dataUrl.默认情况下,它返回 image/png ,但是某些浏览器支持 image/jpeg 文件类型.

I am trying to get dataUrl from <canvas> element using canvas.toDataURL(). By default, it returns image/png, but some browsers support the image/jpeg filetype.

如何检测浏览器是否支持 image/jpeg ?

How can i detect if a browser supports image/jpeg?

推荐答案

您只需指定要使用JPEG,如下所示:

You just specify that you want JPEG like this:

var quality = 0.8;
var dataUri = canvas.toDataURL('image/jpeg', quality); // quality is optional

如果您的dataUri现在包含相同的字符串,则支持JPEG.否则,字符串将为image/png.

If your dataUri now contains the same string JPEG is supported. Otherwise the string will be image/png.

if (dataUri.match('image/jpeg')) {
    // support jpeg
}

话虽这么说,但我认为没有支持jpeg格式的浏览器.这样的测试更适合于Webp,位图等各种程度的不常见格式.

That being said, I don't think there is any browser which do not support the jpeg format. A test like this is better suited for more uncommon formats in various degrees such as webp, bitmap etc.

对于常规测试,您可以执行以下操作:

For a general test you could do:

function hasSupport(mime) {
    var canvas = document.createElement('canvas');
    canvas.width = canvas.height = 1;
    var uri = canvas.toDataURL(mime);
    return (uri.match(mime) !== null);
}

这篇关于在canvas.toDataURL中检测浏览器对图像类型的支持的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆