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

wordpress 关闭feed昆明网站优化推广平台

wordpress 关闭feed,昆明网站优化推广平台,如何给自己做网站,平台公司信用评级前端可以使用canvas和File API来对图片进行压缩和缩放处理#xff0c;以下是一个示例代码 : 压缩方法compressImg这段代码是实现对图片进行上传前的压缩功能 1. 定义了一个压缩图片的函数 compressImg#xff0c;接受两个参数#xff1a;file表示要压缩的文件#xff0c;q…前端可以使用canvas和File API来对图片进行压缩和缩放处理以下是一个示例代码 : 压缩方法compressImg这段代码是实现对图片进行上传前的压缩功能 1. 定义了一个压缩图片的函数 compressImg接受两个参数file表示要压缩的文件quality表示压缩的质量取值范围为0~1之间。 2. 创建了一个 Promise 对象将压缩后的图片信息作为 Promise 的返回值。 3. 创建了一个 FileReader 对象 reader用于读取文件数据。 4. 通过 reader.onload 事件回调函数当文件加载完成后触发。 5. 在回调函数中创建了一个 Image 对象 image用于加载图片。 6. 使用 image.onload 事件回调函数在图片加载完成后触发。 7. 在 image.onload 回调函数中创建了一个 Canvas 对象 canvas用于绘制图像。 8. 根据给定的最大宽高通过计算缩放后的宽高将图片等比例缩放到合适的尺寸设置了 canvas 的宽度和高度并使用 drawImage 方法将原图绘制在 canvas 上。 9. 使用 canvas.toDataURL() 将 canvas 中的图像转换为 base64 编码的DataURL格式的图像数据并指定图片格式为 image/jpeg质量为 quality。 10. 将 base64 编码的数据URL 转为二进制数据并创建一个 Uint8Array 对象 bufferArray。 11. 使用循环将 base64 编码的数据填充到 bufferArray 中。 12. 创建一个新的 File 对象 miniFile将 bufferArray 作为文件内容文件名与原文件一致文件类型为 image/jpeg。 13. 将压缩前后的图片信息以对象的形式返回并调用 resolve 方法将该对象作为 Promise 的结果。 压缩方法compressImg的调用 1. 通过监听文件选择框的change事件在文件选择后将选择的图片文件传入compressImg函数中进行处理 14. 在成功的回调中创建一个新的img对象并将newFile.afterSrc赋给其src属性这样就能在页面上显示压缩后的图像。此时对压缩后的newFile上传即可。 !DOCTYPE html htmlheadtitleImage Compression Demo/titlestyle#output {margin-top: 20px;}/style/headbodyinput typefile idinput acceptimage/* /div idoutput/divscript/*** 压缩方法* param {string} file 文件* param {Number} quality 0~1之间quality与文件大小成正比*/function compressImg(file, quality) {return new Promise((resolve) {// 创建 FileReaderconst reader new FileReader();reader.onload ({ target: { result: src } }) {// 创建 img 元素const image new Image();image.onload async () {// 计算缩放后的宽高var maxWidth 500;var maxHeight 500;var width image.width;var height image.height;if (width height) {if (width maxWidth) {height * maxWidth / width;width maxWidth;}} else {if (height maxHeight) {width * maxHeight / height;height maxHeight;}}// 创建 canvas 元素const canvas document.createElement(canvas);// 设置canvas的宽高canvas.width width;canvas.height height;// 绘制缩放后的canvas图像canvas.getContext(2d).drawImage(image, 0, 0, width, height);// 将canvas转换为DataURL格式的图像const canvasURL canvas.toDataURL(image/jpeg, quality);//atob() 对经过 base-64 编码的字符串进行解码const buffer atob(canvasURL.split(,)[1]);let length buffer.length;// ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区// Uint8Array 数组类型表示一个 8 位无符号整型数组创建时内容被初始化为 0。创建完后可以以对象的方式或使用数组下标索引的方式引用数组中的元素。const bufferArray new Uint8Array(new ArrayBuffer(length));while (length--) {bufferArray[length] buffer.charCodeAt(length);}const miniFile new File([bufferArray], file.name, {type: image/jpeg,});resolve({file: miniFile,origin: file,beforeSrc: src,afterSrc: canvasURL,beforeKB: Number((file.size / 1024).toFixed(2)),afterKB: Number((miniFile.size / 1024).toFixed(2)),});};image.src src;};reader.readAsDataURL(file);});}var input document.getElementById(input);input.addEventListener(change, function (event) {var file event.target.files[0];compressImg(file, 0.5).then((newFile) {console.log(newFile, newFile); // 将新的newFile上传即可var newImg new Image(); // 创建新的图像对象newImg.src newFile.afterSrc;// 在页面上显示缩放后的图像var output document.getElementById(output);output.innerHTML ;output.appendChild(newImg);});});/script/body /html
http://www.hkea.cn/news/14448155/

相关文章:

  • 山西建设厅官方网站公示购物网站首页分成几个模块
  • 潍坊方圆网站建设360上网安全导航
  • 国内个人网站搭建烟台展厅设计公司
  • 网站建设与网站制作在线制作wap网站
  • 大连金州代做网站公众号网页设计实验报告模板
  • 商城网站的基本功能中国移动网站官网
  • 浙江网站建设哪家好wordpress公众号文章分类
  • 重庆云阳网站建设公司免费的外贸网站推广方法
  • 北京网站建设 专业10年seo与sem的区别和联系
  • 足球网站开发阿坝北京网站建设
  • 做微信商城网站建设php语言 网站建设
  • 网站顶部展出的大幅广告新冠三阳意味着什么
  • 做网站遇到的困难总结百度seo是什么意思呢
  • 设计发明的网站网站的运营维护
  • 做网站可以赚钱嘛株洲网站建设制作
  • 网站开发设计公网站建设的税收编码
  • 担路网络科技有限公司的证书南宁百度seo建议
  • 注册网站英语网络营销是什么系
  • 天津市设计网站的公司秦皇岛在建工程项目
  • 做英文网站哪里好曲阳有没有做网站里
  • 网站换主题网站建设最快多长时间
  • 云存储能用来做网站吗网站问卷调查怎么做
  • 摄影设计专业seo刷网站
  • 哪些网站可以做详情页公司网站格式
  • 怎么配置网站服务器分销商系统
  • 沈阳网站建设企业职业技能培训机构
  • 做网站用什么开发好假网站连接怎么做的
  • 泰安企业网站建设网址在线生成短链接
  • 在电脑上建设个人网站厦门市网站建设软件开发公司
  • 口碑好的高密网站建设如何做优化网站排名