toDataUrl 方法

String toDataUrl([
  1. String type = 'image/png',
  2. num? quality
])

返回一个包含图像表示的数据 URI,格式由 type 指定(默认为 'image/png')。

数据 URI 格式如下 data:[<MIME-type>][;charset=<encoding>][;base64],<data>

可选参数 quality 在 0.0 和 1.0 的范围内,当请求 'image/jpeg' 或 'image/webp' 类型时可以使用。如果没有传递 quality,则使用默认值。注意:默认值因浏览器而异。

如果此 canvas 元素的高度或宽度为 0,则返回 'data:',表示没有数据。

如果请求的类型不是 'image/png',并且返回的值是 'data:image/png',则表示请求的类型不受支持。

示例用法

CanvasElement canvas = new CanvasElement();
var ctx = canvas.context2D
..fillStyle = "rgb(200,0,0)"
..fillRect(10, 10, 55, 50);
var dataUrl = canvas.toDataUrl("image/jpeg", 0.95);
// The Data Uri would look similar to
// 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
// AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
// 9TXL0Y4OHwAAAABJRU5ErkJggg=='
//Create a new image element from the data URI.
var img = new ImageElement();
img.src = dataUrl;
document.body.children.add(img);

另请参阅

实现

String toDataUrl([String type = 'image/png', num? quality]) =>
    _toDataUrl(type, quality);