用canvas实现对图片的处理 使用fileAPI
来源:互联网 发布:自学计算机 知乎 编辑:程序博客网 时间:2024/05/18 13:24
代码如下
**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("没有找到图片!"); }
0 0
- 用canvas实现对图片的处理 使用fileAPI
- 使用H5的FileApi预览将要上传的图片
- 使用FileApi实现Ajax上传文件
- 使用canvas实现图片压缩
- 使用canvas实现图片压缩
- Canvas---Canvas图像处理、图片查看器、图像缩放功能的实现。
- 使用h5的canvas实现两张图片的合并
- Canvas实现图片的预览
- fileapi ajax上传图片显示
- 基于canvas的图片灰度处理
- 基于canvas的图片反色处理
- 使用canvas实现图片压缩上传
- 使用Matlab实现对图片的缩放
- 使用Matlab实现对图片的缩放
- FileApi的文件上传基础
- h5中的fileAPI的使用方法
- MIDP1.0中实现对图片的透明处理
- opencv实现对图片的批量读取、处理、存储
- 堆和栈的区别
- Android 7.0 android.os.FileUriExposedException
- 页面作业练习
- SCU4438-Censort
- 程序员应该常问常思考
- 用canvas实现对图片的处理 使用fileAPI
- QT中字符串的转化与拼接
- 跨域与跨域访问
- java jdbc连接数据库
- unix套接字通讯,unixsock
- Soket for android简单实例
- linux错误配置之后如何强制重启
- OpenCV中的内存泄漏检测
- mybatis怎么实现一次插入多条数据