分页生成paf https://www.jianshu.com/p/9f6ebc0e0d70
{ aa }} -->
转载:https://www.jianshu.com/p/ea757f90b19d
$("#confirm").on("click", function () {
var img_canvas = gdocument.getElementsByTagName('canvas')
img_canvas.toBlob(function (blob) {
var url = URL.createObjectURL(blob);
$(".canvas").html('');
})
});
canvas–>base64
$("#confirm").on("click", function () {
var img_canvas = document.getElementsByTagName('canvas')
var base64URL = img_canvas.toDataURL("image/png");
$(".canvas").html(``)
});
/**
* Blob转Base64
* @param base64 String base64格式字符串
* @param callback Function 获取转换结果e.target.result后执行的回调函数
*/
function translateBlobToBase64(blob,callback){
var reader = new FileReader()
reader.onload = function(e){
callback(e.target.result)
}
reader.readAsDataURL(blob)
//读取后,result属性中将包含一个data:URL格式的Base64字符串用来表示所读取的文件
}
转化思路:base64 --> Uint8Array --> new File()
/**
* Base64转
* @param base64 String base64格式字符串
* @param contentType String file对象的文件类型,如:"image/png"
* @param filename String 文件名称或者文件路径
*/
function translateBase64ImgToFile(base64,filename,contentType){
var arr = base64.split(',') //去掉base64格式图片的头部
var bstr = atob(arr[1]) //atob()方法将数据解码
var leng = bstr.length
var u8arr = new Uint8Array(leng)
while(leng--){
u8arr[leng] = bstr.charCodeAt(leng) //返回指定位置的字符的 Unicode 编码
}
return new File([u8arr],filename,{type:contentType})
}
转化思路:base64 --> Uint8Array --> new Blob()
/**
* Base64转Blob
* @param base64 String base64格式字符串
* @param contentType String blob对象的文件类型,如:"image/png"
*/
function translateBase64ImgToBlob(base64,contentType){
var arr = base64.split(',') //去掉base64格式图片的头部
var bstr = atob(arr[1]) //atob()方法将数据解码
var leng = bstr.length
var u8arr = new Uint8Array(leng)
while(leng--){
u8arr[leng] = bstr.charCodeAt(leng) //返回指定位置的字符的 Unicode 编码
}
var blob = new Blob([u8arr],{type:contentType})
var blobImg = {}
blobImg.url = URL.createObjectURL(blob ) //创建URL,
blobImg.name = new Date().getTime() + '.png'
return blobImg
转化思路:url – > --> Canvas --> canvas.toDataURL --> Base64
/**
* URL转base64
* @param url String 图片链接
* @callback Function 获取base64格式后的回调函数
*/
function translateImgToBase64(url,callback){
var canvas = document.createElement('canvas')
context = canvas.getContext('2d')
img = new Image //通过构造函数绘制图片实例
img.crossOrigin = 'Anonymous' //处理图片跨域问题,见拓展1
img.onload = function(){ //该加载过程为异步事件,请先确保获取完整图片
canvas.width = img.width
canvas.height = img.height
context.drawImage(img,0,0) //将图片绘制在canvas中
var URLData = canvas.toDataURL('image/png')
callback(URLData);
canvas = null
}
img.src = url
}
/**
* 获取base64格式的回调函数
* @param URLData 获取的base64格式
*/
function get Base64(URLData){
console.log("base64",URLData)
}