Canvas与Image互相转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Canvas与Image互相转换相关的知识,希望对你有一定的参考价值。

转换 Image为 Canvas
要把图片转换为Canvas(画板,画布),可以使用canvas元素 context 的drawImage方法:

// 把image 转换为 canvas对象
function convertImageToCanvas(image) {
    // 创建canvas DOM元素,并设置其宽高和图片一样 
    var canvas = document.createElement("canvas");
    canvas.width = image.width;
    canvas.height = image.height;
    // 坐标(0,0) 表示从此处开始绘制,相当于偏移。
    canvas.getContext("2d").drawImage(image, 0, 0);

    return canvas;
}

转换  Canvas 为 Image
假设图像已经在canvas上处理好,那么可以使用以下方法,把canvas转变为图片Image对象。

// 从 canvas 提取图片 image
function convertCanvasToImage(canvas) {
    //新Image对象,可以理解为DOM
    var image = new Image();
    // canvas.toDataURL 返回的是一串Base64编码的URL,当然,浏览器自己肯定支持
    // 指定格式 PNG
    image.src = canvas.toDataURL("image/png");
    return image;
}

 

以上是关于Canvas与Image互相转换的主要内容,如果未能解决你的问题,请参考以下文章

OCR-PIL.Image与Base64 String的互相转换

Blob/DataURL/canvas/image的相互转换

image和TFRecord互相转换

前端图片压缩优化工具conversion

canvas内image旋转

如何将画布图像“data:image/jpeg;base64,..”转换为普通图像文件 - javascript