手机通过页面调用摄相头或选择照片压缩后并显示
来源:互联网 发布:js合并单元格 编辑:程序博客网 时间:2024/04/28 12:07
功能:通过手机页面打开摄相头或选择相册中的照片,然后对图片进行压缩,并显示在页面上。
通过参照别人的例子,写了一个html,在小米四的手机上测试通过。
写下该文章以做备忘。
代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 5.0 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="author" content="oscar999"> <title></title> <script> /** * Receives an Image Object (can be JPG OR PNG) and returns a new Image Object compressed * @param {Image} source_img_obj The source Image Object * @param {Integer} quality The output quality of Image Object * @return {Image} result_image_obj The compressed Image Object */function compress(source_img_obj, quality, output_format){//alert('aa'); var mime_type = "image/jpeg"; if(output_format!=undefined && output_format=="png"){mime_type = "image/png"; } var cvs = document.createElement('canvas'); //naturalWidth真实图片的宽度 cvs.width = source_img_obj.naturalWidth; cvs.height = source_img_obj.naturalHeight; var ctx = cvs.getContext("2d").drawImage(source_img_obj, 0, 0); var newImageData = cvs.toDataURL(mime_type, quality/100); var result_image_obj = new Image(); result_image_obj.src = newImageData; return result_image_obj;};function handleFiles(files){ if(files.length){var divObj=document.createElement("div");divObj.contentEditable = true;//使DIV可编辑divObj.style.border="100px"; var file = files[0];var imageId = file.name;divObj.innerHTML="<image src='' id=" + imageId + " alt='picture'><br>";var imageList = document.getElementById("imageList");imageList.appendChild(divObj);var divLine=document.createElement("div");divLine.innerHTML="<hr>";imageList.appendChild(divLine);//alert(file.name);var reader = new FileReader();reader.onload = function(){var i = document.getElementById(imageId);i.src = this.result;var quality = 20;i.src = compress(i,quality).src;i.width="220";i.height='180';}; reader.readAsDataURL(file);} } function uploadFiles(){var images = document.getElementsByTagName("img");var url = "你的url";/*if (typeof(images) == "undefined") {alert("please select picture");return;}*/var num = images.length;if(num < 1){alert("please select picture");return;}for(var i=0;i<num;i++){alert("a");var xhr = new XMLHttpRequest();var fromData = new FormData(document.getElementById('upload_form'));//fromData.append("base64", images[i].src);//xhr.open("post",url, true);xhr.open("POST",url);xhr.send(fromData);} } </script> </head> <body> <form id="upload_form" enctype="multipart/form-data" method="post" action="upload.php"><input type="file" id="file" onchange="handleFiles(this.files)"/> <input type="button" id="upload" value="upload" onclick="uploadFiles()"/> </form><div><hr></div><div id="filecontent"></div> <div id='imageList'></div> </body> </html>
0 0
- 手机通过页面调用摄相头或选择照片压缩后并显示
- iOS 选择照片、视频、拍照并压缩视频获取压缩保存后路径的方法
- android拍照选择图库后将照片剪裁压缩显示到imageview上
- 手机端选择照片和调用摄像头
- 调用手机拍照后,图库不显示刚刚拍到的照片
- 调用手机相册拍照裁剪并将照片变为圆形显示
- MediaStore调用后的照片无法显示
- 选择照片时在当前页面显示选择的照片
- 转自@CrazyCodeBoy 获取手机相册并选择照片
- 转自@CrazyCodeBoy 获取手机相册并选择照片
- react native 选择手机照片页面英文问题
- 更换用户头像 调用手机相册或相机拍照 选择图片并裁剪
- html5调用手机相机并压缩、上传
- html5调用手机相机并压缩、上传
- Html5调用手机相机并压缩、上传
- 通过拍照或选择本地图片并剪裁后设置头像
- Android调用手机拍照以及从相册选择照片
- Android调用手机拍照以及从相册选择照片
- Discuz中session机制流程图以及心得
- JS匿名函数的理解
- HDOJ 1004 Let the Balloon Rise(水题)
- 了解BigBoss之如何添加BigBoss的Cydia源地址
- [Swift] 控制流
- 手机通过页面调用摄相头或选择照片压缩后并显示
- java汉字转拼音
- 理解RTTI
- 经典的java/android下JNI编程教程
- Java ArrayList、Vector、LinkedList 异同
- java写的控制台万年历
- C#调用C++方法,C#使用c++方法返回类或结构体
- 简述上转型对象和接口回调
- Linux下安装MySQL5.5