欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

canvas的toDataURL()方法

程序员文章站 2024-01-21 19:49:46
...

canvas的toDataURL()方法是返回一个包含图片展示的 数据URL。可以使用 type 参数其类型,默认为 PNG 格式。图片的分辨率为96dpi。

一、语法

canvas.toDataURL(type, encoderOptions);

二、参数

1、type:图片格式,默认为 image/png,可以是其他image/jpeg等

2、encoderOptions:0到1之间的取值,主要用来选定图片的质量,默认值是0.92,超出范围也会选择默认值。

三、返回值

返回值是一个数据url,是base64组成的图片的源数据、可以直接赋值给图片的src属性。

<!DOCTYPE html>
<html class="no-js">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="">
</head>

<body>
    <canvas id="mycanvas" width="200" height="200"></canvas>
    <img src="" id="myImage">
    <script type="text/javascript">
        var cvs = document.getElementById('mycanvas'),
            ctx = cvs.getContext('2d'),
            img = document.getElementById('myImage');
        ctx.fillStyle = "yellow";
        ctx.fillRect(0, 0, 300, 400);
        var imgDataSrc = cvs.toDataURL('image/png');
        img.src = imgDataSrc;
    </script>
</body>

</html>

注意:(是借鉴MDN的)

1、如果画布的高度或宽度是0,那么会返回字符串“data:,”。

2、如果传入的类型非“image/png”,但是返回的值以“data:image/png”开头,那么该传入的类型是不支持的(没遇到)

3、Chrome支持“image/webp”类型。

相关标签: canvas javascript