【前端】壓縮圖片以及圖片相關概念
壓縮圖片思路
- 獲得上傳檔案
- 上傳檔案型別為file 或者blod(這兩個都是)
- 將file轉成base64
- base64壓縮圖片
- base64轉成file,判斷大小,返回壓縮後的圖片大小
流程:
1.獲得上傳檔案:
<input id="selectImage" type="file" onchange="selectImg(this)" accept="image/*"/>
function selectImg(event) {
var f = event.files[0];
if (f==undefined) {
return;
}
var name = f.name;
var size=f.size;
}
2.壓縮圖片
if (!file || !window.FileReader) return;
var image = new Image();
image.onload = function () {
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, canvas.width, canvas.height);
canvas.width = image.width * nextQ; //nextQ取值範圍0-1:圖片質量
canvas.height = image.height * nextQ;
ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
var base64Codes = canvas.toDataURL(file.type, nextQ);
};
if (/^image/.test(file.type)) {
// 建立一個reader
var reader = new FileReader();
// 將圖片將轉成 base64 格式
reader.readAsDataURL(file);
// 讀取成功後的回撥
reader.onload = function () {
image.src = this.result;
}
}
3.base64轉成file,判斷大小
var compressFile = self.dataUrlToFile(base64Codes, file.name.split('.')[0]);
var compressFileSize = compressFile.size;
ps:
1.input 的accept屬性如果限制圖片型別,可能導致某些安卓機沒辦法上傳圖片,上述寫法可以解決問題
2.程式碼參考連結:js圖片大小壓縮到指定範圍
自定義概念
- 大小:圖片具體多少kb,佔多少位元組
- 尺寸:圖片的高度和寬度
- 畫素:圖片尺寸的單位
- 解析度:同尺寸
相關文章
- 前端圖片壓縮 - H5&Uni-App圖片壓縮前端H5APP
- 前端圖片壓縮方案前端
- 前端的圖片壓縮image-compressor(可在圖片上傳前實現圖片壓縮)前端
- 前端圖片壓縮及上傳前端
- ??圖片壓縮CanvasCanvas
- canvas 壓縮圖片Canvas
- 圖片壓縮20201109
- vue 上傳圖片進行壓縮圖片Vue
- iOS 圖片壓縮方法iOS
- Photoshop壓縮png圖片
- 圖片純前端JS壓縮的實現前端JS
- 純前端實現 JPG 圖片壓縮 | canvas前端Canvas
- 怎麼轉換圖片格式並壓縮圖片
- 上傳圖片 以及做成縮圖
- 開源圖片工具箱(Img Toolbox) 格式轉換 新增水印 圖片壓縮 圖片裁剪 圖片旋轉 圖片縮放
- js上傳圖片壓縮JS
- SmallImage for Mac(圖片壓縮工具)Mac
- js圖片壓縮推薦JS
- JNI實現圖片壓縮
- Nginx網路壓縮 CSS壓縮 圖片壓縮 JSON壓縮NginxCSSJSON
- 圖片壓縮怎樣操作?分享幾種實用的批次圖片壓縮技巧
- 淺談Flutter web 圖片選擇器及圖片壓縮FlutterWeb
- 純前端實現 PNG 圖片壓縮 | UPNG.js前端JS
- 基於 NSData 的圖片壓縮
- 利用 canvas 實現圖片壓縮Canvas
- Bitmap的圖片壓縮彙總
- Image Optimizer for Mac(圖片壓縮工具)Mac
- excel檔案裡的圖片怎麼壓縮?excel檔案裡圖片的壓縮方法Excel
- png格式如何壓縮,圖片壓縮工具哪個好
- Glide 原始碼分析(一):圖片壓縮IDE原始碼
- JS—圖片壓縮上傳(單張)JS
- gulp-imagemin版本9圖片壓縮
- 使用 JavaScript 壓縮和翻轉圖片JavaScript
- Squeezer for Mac(Mac圖片壓縮軟體)Mac
- 影像體積壓縮工具JPEG Jackal更好的壓縮圖片
- java,springboot + thymeleaf 上傳圖片、刪除圖片到伺服器、本地,壓縮圖片上傳(有些圖片會失真),原圖上傳JavaSpring Boot伺服器
- layui中實現上傳圖片壓縮UI
- Android-圖片壓縮(二)-純乾貨Android