canvas压缩图片,canvas,css结合绘制正方形图片
//------------ 对图片进行压缩 function compress(imgPath) { var image = new Image(); //新建一个img标签(还没嵌入DOM节点) image.src = imgPath; image.onload = function() { var canvas = document.createElement('canvas'); var context = canvas.getContext('2d'); var imageWidth = image.width / 3; //压缩后图片的大小 var imageHeight = image.height / 3; var data = ''; canvas.width = imageWidth; canvas.height = imageHeight; context.drawImage(image, 0, 0, imageWidth, imageHeight); data = canvas.toDataURL('image/jpeg') //压缩完成 $(".srcDiscernImg").attr("src", data); console.log("渲染。。。。"); } }
//-------------canvas,css结合绘制正方形图片
html
<div class="l-search-img"> <img src="" id="imageSearchSrc"> </div>
css
.proimg-search-top .l-search-img{ width:140px; height:140px;margin-bottom: 10px;position:relative;background-color:#fff; } .proimg-search-top .l-search-img img{ position:absolute;left:50%;top:50%; -moz-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%) }
js
// 对图片进行绘制,在div里显示成正方形 var searchImgPath = '拿到图片地址'; var searchImgSize ="140";//要生成的正方形尺寸 compress(searchImgPath,searchImgSize); // 对图片进行绘制,在div里显示成正方形 function compress(imgPath,maxSize) { var image = new Image(); //新建一个img标签(还没嵌入DOM节点) image.src = imgPath; image.onload = function() { var canvas = document.createElement('canvas'); var context = canvas.getContext('2d'); var imageWidth = image.width; //压缩后图片的大小 var imageHeight = image.height; if(imageWidth > imageHeight){//横的图片 var imgSize = imageWidth/imageHeight; imageWidth = maxSize; imageHeight = imageWidth / imgSize; }else if(imageWidth < imageHeight){//竖的图片 var imgSize = imageWidth/imageHeight; imageHeight = maxSize; imageWidth = imageHeight * imgSize; } else{ //如果为正方形 imageWidth = image.width; imageHeight = image.height; } var data = ''; canvas.width = imageWidth; canvas.height = imageHeight; context.drawImage(image, 0, 0, imageWidth, imageHeight); data = canvas.toDataURL('image/jpeg') //压缩完成 $("#imageSearchSrc").attr("src", data); } }
相关推荐
jinxiutong 2020-07-26
northwindx 2020-05-31
jinxiutong 2020-05-10
lanzhusiyu 2020-07-19
zrtlin 2020-11-09
xuebingnan 2020-11-05
wikiwater 2020-10-27
heheeheh 2020-10-19
Crazyshark 2020-09-15
softwear 2020-08-21
ZGCdemo 2020-08-16
jczwilliam 2020-08-16
littleFatty 2020-08-16
idning 2020-08-03
Skyline 2020-07-04
xiaofanguan 2020-06-25