H5相机上传图片压缩

Posted 今年我二十有七

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H5相机上传图片压缩相关的知识,希望对你有一定的参考价值。

html中添加

<canvas id="myCanvas" style="display: none">
你的浏览器不支持canvas画布元素,请更新浏览器获得演示效果。
</canvas>

 //1、设置压缩后的最大宽度 or 高度;
//2、设置压缩比例,根据图片的不同size大小,设置不同的压缩比。

function compress(res,fileSize) { //res代表上传的图片,fileSize大小图片的大小
var img = new Image(),
maxW = 640; //设置最大宽度
img.onload = function () {
var cvs = document.getElementById(‘myCanvas‘),
ctx = cvs.getContext( ‘2d‘);

if(img.width > maxW) {
img.height *= maxW / img.width;
img.width = maxW;
}

cvs.width = img.width;
cvs.height = img.height;

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

var compressRate = getCompressRate(1,fileSize);

var dataUrl = cvs.toDataURL( ‘image/jpeg‘, compressRate);

document.body.appendChild(cvs);
console.log(dataUrl);
// ctx.clearRect(0,0,cvs.width,cvs.height); 清空画布
// ctx.beginPath();
}

img.src = res;

https://my.oschina.net/zyxchuxin/blog/700381
 

以上是关于H5相机上传图片压缩的主要内容,如果未能解决你的问题,请参考以下文章

H5图片预览压缩上传

H5图片预览压缩上传

H5+jqweui实现手机端图片压缩上传

前端预览图片和H5canvas压缩图片上传

H5压缩图片上传(FileReader +canvas)

H5上传图片之canvas