【前端】壓縮圖片以及圖片相關概念
壓縮圖片思路
- 獲得上傳檔案
- 上傳檔案型別為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(可在圖片上傳前實現圖片壓縮)前端
- 前端圖片壓縮及上傳前端
- iOS開發中壓縮圖片的質量以及縮小圖片尺寸iOS
- ??圖片壓縮CanvasCanvas
- IOS圖片壓縮iOS
- canvas 壓縮圖片Canvas
- 圖片壓縮知識梳理(0) 圖片壓縮學習計劃
- vue 上傳圖片進行壓縮圖片Vue
- Android壓縮圖片後再上傳圖片Android
- iOS 圖片壓縮方法iOS
- 圖片純前端JS壓縮的實現前端JS
- web前端實現圖片壓縮處理Web前端
- 純前端實現 JPG 圖片壓縮 | canvas前端Canvas
- 怎麼轉換圖片格式並壓縮圖片
- Android 載入大圖片,不壓縮圖片Android
- asp 獲取圖片的 大小 和畫素 ,解析度,以及壓縮圖片
- SmallImage for Mac(圖片壓縮工具)Mac
- js上傳圖片壓縮JS
- js圖片壓縮推薦JS
- JNI實現圖片壓縮
- android下圖片壓縮Android
- java後臺壓縮圖片Java
- 開源圖片工具箱(Img Toolbox) 格式轉換 新增水印 圖片壓縮 圖片裁剪 圖片旋轉 圖片縮放
- 圖片壓縮怎樣操作?分享幾種實用的批次圖片壓縮技巧
- 純前端實現 PNG 圖片壓縮 | UPNG.js前端JS
- Nginx網路壓縮 CSS壓縮 圖片壓縮 JSON壓縮NginxCSSJSON
- 淺談Flutter web 圖片選擇器及圖片壓縮FlutterWeb
- 圖片壓縮不求人,3個親測實用高效的圖片壓縮神器
- 利用 canvas 實現圖片壓縮Canvas
- Image Optimizer for Mac(圖片壓縮工具)Mac
- Bitmap的圖片壓縮彙總
- js 壓縮圖片 H5JSH5
- excel檔案裡的圖片怎麼壓縮?excel檔案裡圖片的壓縮方法Excel
- png格式如何壓縮,圖片壓縮工具哪個好
- 使用 JavaScript 壓縮和翻轉圖片JavaScript
- JS—圖片壓縮上傳(單張)JS