canvas+图片 操作与转换

加载图像到canvas画布中

var canvas = document.getElementById("mycanvas");

var context = canvas.getContext('2d');

var img =new Image();

img.onload =function(){

  context.drawImage(img,0,0,img.width,img.height);

}

img.src =YourImgUrl;


图片转成64base

function getBase64Image(img) {

var canvas = document.createElement("canvas");

canvas.width = img.width;

canvas.height = img.height;

var ctx = canvas.getContext("2d");

ctx.drawImage(img,0,0,img.width,img.height);

var dataURL = canvas.toDataURL("image/png");

return dataURL;

}


图片路径转换成base64

function convertImgToBase64(url,callback,outputFormat) {

var canvas = document.createElement('CANVAS'),

ctx = canvas.getContext('2d'),

img =new Image();

img.crossOrigin ='Anonymous';    //可解决跨域图片不能转换问题,或者img.crossOrigin = '';

img.onload =function() {

canvas.height = img.height;

canvas.width = img.width;

ctx.drawImage(img,0,0);

var dataURL = canvas.toDataURL(outputFormat ||'image/png');

callback.call(this,dataURL);

canvas =null;

};

img.src = url;

}


图片缓存

function cacheExternalImage(url){

var img =new Image(),   

src = url,   

cvs =document.createElement('canvas'),    

ctx = cvs.getContext('2d');   

img.crossOrigin ="Anonymous";    

img.onload =function(){

//ctx.drawImage( img, 0, 0 );

}    

img.src = src;

if( img.complete || img.complete ===undefined) {        

img.src ="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";        

img.src = src;    

}

return img;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 10,181评论 2 32
  • 一、图形的组合方式 globalAlpha是一个介于0和1之间的值(包括0和1),用于指定所有绘制的透明度。默认值...
    空谷悠阅读 5,186评论 0 0
  • 移动端ios图片处理的思路,是先用exif.js获取到旋转的角度,然后把图片进行压缩处理,最后再旋转图片 为什么要...
    卖萌可爱啊阅读 5,468评论 0 1
  • 在很多情况下我们用 input[type="file"] 上传图片的时候都希望有一个预览效果,最后才会将表单一起提...
    Sharise_Mo佩珊阅读 8,991评论 8 11
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    J_L_L阅读 5,427评论 0 4