js 图片等比压缩并保留清新度
function drawOnCanvas(file) { $.mobile.loading('show', { text: '图片上传中,请耐心等待...', //加载器中显示的文字 textVisible: true, //是否显示文字 theme: 'a', //加载器主题样式a-e textonly: false, //是否只显示文字 html: "<div style=\"width:200px;\" align=\"center\"><img src=\"../assets/img/l1.gif\" /></div>" //要显示的html内容,如图片等 }); var reader = new FileReader(); reader.onload = function (e) { var dataURL = e.target.result, canvas = document.getElementById('canvas'), img = new Image(), context = canvas.getContext('2d'); img.onload = function () { var size = 300; canvas.style.width = size + "px"; canvas.style.height = size + "px"; var scale = 3.125; canvas.width = Math.floor(size * scale); canvas.height = Math.floor(size * scale); context.scale(scale, scale); context.clearRect(0, 0, size, size); context.drawImage(this, 0, 0, size, size); // /* canvas.toDataURL(type, args) // 该方法能够将canvas转换为图像,图像是基于Base64编码的。如 // 果不指定两个参数,无参数调用该方法,转换的图像格式为png格式 //。 // •type:指定要转换的图像格式,如 image/png、image/jpeg等。 // •args:可选参数。例如,如果type为image/jpeg,则args可以是 // 0.0和0.1之间的值,以指定图像的品质。 //例如,下面的代码将canvas中已绘制的内容在一个新的浏览器窗 // 口或选项卡中打开: var base64 = canvas.toDataURL('image/jpeg'); $('#s').html(base64); //隐藏加载器 $.mobile.loading('hide'); }; img.src = dataURL; //把图像给img对象,在img 对象onload事件中进行绘制到canvas(相关压缩,保存,都可以在这里进行操作) }; reader.readAsDataURL(file); }; function change() { var input = document.getElementById('cameraInput') var file = input.files[0]; drawOnCanvas(file); };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2007-01-12 vs 2005應用2003框架