用canvas实现对图片的处理 使用fileAPI
2017-04-26 18:43
537 查看
代码如下
**HTML部分** <input type="file" accept="video/*" capture="camcorder" id="file"> <div id="preview" class="upload_preview"></div> <div id="canvas_div"> <canvas id="canvas_mine"></canvas> </div>
**js部分** 1、先监听input file change事件 function onSelect(e) { var files = e.target.files || e.dataTransfer.files; var html = ''; var file = files[0]; if (file) { if (file.type.indexOf("image") == 0) {//对上传文件进行过滤 fileType = file.type; //file.name file.size file.lastModifiedDate var reader = new FileReader(); reader.onload = function(e) { var img = new Image(); //压缩图片 img.onload = function() { if (img.height > maxHeight) {//按最大高度等比缩放 scale = maxHeight / img.height; img.width *= maxHeight / img.height; img.height = maxHeight; } //图片压缩 var canvas = $("#canvas_mine").get(0); canvas.width = img.width; canvas.height = img.height; var context = canvas.getContext("2d"); context.clearRect(0, 0, canvas.width,canvas.height); // canvas清屏 context.drawImage(img, 0, 0, img.width,img.height); var image = new Image(); image.src = canvas.toDataURL(file.type); image.id = "upload_image"; $('#preview').html(""); $('#preview').append(image); $('.upload_preview').css({'z-index':'2','top':'50%','left':'50%','transform': 'translate(-50%,-50%)'}); console.log($('#preview')) } img.src = e.target.result; console.log(e.target) img.id = "upload_image_tmp"; $('#preview').html(""); $('#preview').append(img); $("#message").text(""); }; reader.readAsDataURL(file); } else { fileType = "image/jpeg"; $('#preview').html(""); $("#message").text("您上传的不是图片,请重新上传..."); } } else { fileType = "image/jpeg"; $('#preview').html(""); $("#message").text("没有找到图片!"); }
相关文章推荐
- 用Canvas+Javascript FileAPI 实现一个跨平台的图片剪切、滤镜处理、上传下载工具(转)
- 用Canvas+Javascript FileAPI 实现一个跨平台的图片剪切、滤镜处理、上传下载工具
- 使用QT实现一个图像处理软件1 —— 图片的加载和显示
- 工作积累(一)——使用canvas实现前台图片base64转码
- Java使用OpenCV和Tesseract-OCR实现银行卡图片处理与卡号识别
- 用C实现PHP扩展 Image_Tool 图片常用处理工具类的使用
- 使用大数据分析+AI+图片动态处理实现“朋友圈@微信官方头像添加圣诞帽”
- PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
- php使用高斯算法实现图片的模糊处理功能示例
- 使用canvas 的api 实现 图片的显示 及 压缩
- Fragment中的Toolbar使用与处理,以及toobar在Java代码实现添加logo图片和文字
- 使用websocket实现手机扫描PC端二维码,移动端canvas手绘签名确定后将图片同步到PC端 扫码及时更新图片
- 使用JavaScript+canvas实现图片裁剪
- CANVAS实现图片模糊(处理库StackBlur.js)
- 使用canvas实现图片压缩
- 如何使用jQuery来处理图片坏链具体实现步骤
- 使用JavaScript+canvas实现图片裁剪
- [H5-Compress-Image]利用canvas实现 javascript 图片压缩处理_基于requirejs模块化的代码实现
- [javascript-snippet]使用javascript+html5实现图片的灰度处理
- 使用canvas来实现两张图片合成一张