当前位置: 首页 > news >正文

html5 canvas上传图片后预览

html5 canvas上传图片后预览


1.html
<input type="file" name="image" accept="image/*" id="fileChoosed">    
<canvas id="canvasFile" style="margin-top:15px;" width="500" height="400"></canvas>


2.javascript 


var photoW = 400;
        var photoH = 300;
        var photo;
        $(document).ready(function() {


		// show image preview after selection
            $("#fileChoosed").change(function picChange(evt) {
                //get files captured through input
                var fileInput = evt.target.files;
                if (fileInput.length > 0) {
                    //window url
                    var windowURL = window.URL || window.webkitURL;
                    //picture url
                    var picURL = windowURL.createObjectURL(fileInput[0]);
                    //get canvas
                    var photoCanvas = document.getElementById("canvasFile");
                    var ctx = photoCanvas.getContext("2d");


                    //create image
                    photo = new Image();


                    photo.onload = function() {
                        //draw photo into canvas when ready
                        ctx.drawImage(photo, 0, 0, photoW, photoH);
                    };


                    //load photo into canvas
                    photo.src = picURL;


                    var arr = picURL.split('/');
                    var imgUrl = arr[arr.length - 1];
                    windowURL.revokeObjectURL(imgUrl);


                }
            });
        });







相关文章:

  • ZBuffer裁剪planar shadow
  • 3D几何流水线之模型变换
  • html5 canvas 加载图片错误 SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement'
  • RGBA模式人物换色的实现
  • javascript实现QR code扫描
  • android webview旋转屏幕导致页面重新加载问题
  • FLEX实践—自创相册
  • Nebula3的渲染线程插件(Render Thread Plugin)
  • android webview 遇到android.os.FileUriExposedException错误
  • Ucweb的发展趋势
  • Asp.net MVC scheduler实现
  • 一幅图对比软件开发框架
  • 移动Mobile Market运营模式初探之二:价值链是关键
  • 为什么我认为软件方法论无效
  • ArcGIS Server Java ADF 案例教程 29
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • @angular/forms 源码解析之双向绑定
  • CSS盒模型深入
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Git 使用集
  • js如何打印object对象
  • Mocha测试初探
  • mockjs让前端开发独立于后端
  • nfs客户端进程变D,延伸linux的lock
  • Python socket服务器端、客户端传送信息
  • Python利用正则抓取网页内容保存到本地
  • React组件设计模式(一)
  • 程序员最讨厌的9句话,你可有补充?
  • 从零开始在ubuntu上搭建node开发环境
  • 技术:超级实用的电脑小技巧
  • 类orAPI - 收藏集 - 掘金
  • 每天10道Java面试题,跟我走,offer有!
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 微信小程序:实现悬浮返回和分享按钮
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #### go map 底层结构 ####
  • #includecmath
  • ( 10 )MySQL中的外键
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (4.10~4.16)
  • (二开)Flink 修改源码拓展 SQL 语法
  • (译) 函数式 JS #1:简介
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)可以带来幸福的一本书
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .Net IE10 _doPostBack 未定义
  • .Net Remoting常用部署结构
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .Net的C#语言取月份数值对应的MonthName值