canvas--二进制转换问题

 var img = new Image();

 img.src = canvas.toDataURL("image/jpeg", 0.8);   //转换为图片形式  打印出二进制数据

rotateimg= convertBase64UrlToBlob(img.src);  //打印Bob对象  可用于图片上传

function convertBase64UrlToBlob(urlData){
    var bytes=window.atob(urlData.split(',')[1]);        //去掉url的头,并转换为byte
    //处理异常,将ascii码小于0的转换为大于0
    var ab = new ArrayBuffer(bytes.length);
    var ia = new Uint8Array(ab);
    for (var i = 0; i < bytes.length; i++) {
        ia[i] = bytes.charCodeAt(i);
    }
    return new Blob( [ab] , {type : 'image/png'});
}

var rotateSrc=URL.createObjectURL(rotateimg);

//rotateSrc blob:http://wap.bjyltf.com/3f69425c-5318-4e27-ab95-73a85d2dc3ce  打印数据用于canvas图片合成

猜你喜欢

转载自blog.csdn.net/lsy__lsy/article/details/80586598