前端图片压缩优化工具conversion
介绍
image-conversion 是一个简单易用的 JS 图片转换工具,提供了多种 Image、Canvas、File 和 dataURL 之间的转换方法。
另外,image-conversion 可以指定大小来压缩图片。安装npm i image-conversion --save # or yarn add image-conversion引用import imageConversion from "image-conversion";使用
1、将图像压缩到 200kb:// 异步处理 function view(){ const file = document.getElementById("demo").files[0]; console.log(file); imageConversion.compressAccurately(file,200).then(res=>{ console.log(res); }) } // 或者使用async同步处理 async function view() { const file = document.getElementById("demo").files[0]; console.log(file); const res = await imageConversion.compressAccurately(file,200) console.log(res); }
2、以 0.9 的质量压缩图像function view(){ const file = document.getElementById("demo").files[0]; console.log(file); imageConversion.compress(file,0.9).then(res=>{ console.log(res); }) }常用方法列表
image-conversion 提供了多种方法来实现 Image、Canvas、File 和 dataURL 之间的转换,如下:
1、imagetoCanvas(image[, config]) {Promise(Canvas)}
将图像对象转换为画布对象。imageConversion.imagetoCanvas(image); //或者 imageConversion.imagetoCanvas(image,{ width: 300, // 图片宽度 height: 200, // 图片高度度 orientation:2,// 图片旋转方向 scale: 0.5, // 缩放比例 })
2、dataURLtoFile(dataURL[, type]) {Promise(Blob)}
将 dataURL 字符串转换为 File(Blob) 对象,相当于把画布的内容转换成blob,type可以设置最终图片的格式。
type的值可以为:"image/png", "image/jpeg", "image/gif"
3、compress(file, config) {Promise(Blob)}
压缩文件(Blob)对象。// 质量压缩 imageConversion.compress(file,0.8) // 或者 // 自定义参数 imageConversion.compress(file,{ quality: 0.8, type: "image/jpeg", width: 300, height: 200, orientation:2, scale: 0.5, })
4、compressAccurately(file, config) {Promise(Blob)}
根据大小压缩文件(Blob)对象。// 质量大小 imageConversion.compressAccurately(file,100); // 参数 imageConversion.compressAccurately(file,{ size: 100, accuracy: 0.9, type: "image/jpeg", width: 300, height: 200, orientation:2, scale: 0.5, })
5、canvastoDataURL(canvas[, quality, type]) {Promise(string)}
将 Canvas 对象转换为 dataURL 字符串,该方法可以进行压缩。
6、canvastoFile(canvas[, quality, type]) {Promise(Blob)}
将 Canvas 对象转换为 Blob 对象,此方法可以进行压缩。
7、dataURLtoImage(dataURL) {Promise(Image)}
将 dataURL 字符串转换为图像对象。
8、downloadFile(file[, fileName])
下载图片到本地。
9、filetoDataURL(file) {Promise(string)}
将 File(Blob) 对象转换为 dataURL 字符串。
10、urltoBlob(url) {Promise(Blob)}
通过图像 url 加载所需的 Blob 对象。
11、urltoImage(url) {Promise(Image)}
通过图片 url 加载所需的 Image 对象。npm地址:https://www.npmjs.com/package/image-conversion
觉得效果不错的请帮忙加个关注点个赞,经常分享前端实用开发技巧