導航:首頁 > 動漫圖片 > js怎麼壓縮圖片的大小

js怎麼壓縮圖片的大小

發布時間:2023-06-16 01:50:44

『壹』 js對從伺服器取得的圖片進行壓縮顯示

瀏覽器前端裡面跑js沒辦法壓縮圖片的,js沒io,只能載入圖片,無法讀入真正的圖片數據

『貳』 前端圖片壓縮優化工具conversion

image-conversion 是一個簡單易用的 JS 圖片轉換工具,提供了多種 Image、Canvas、File 和 dataURL 之間的轉換方法。

另外,image-conversion 可以指定大小來壓縮圖片。

1、將圖像壓縮到 200kb:

2、以 0.9 的質量壓縮圖像

image-conversion 提供了多種方法來實現 Image、Canvas、File 和 dataURL 之間的轉換,如下:

1、imagetoCanvas(image[, config]) {Promise(Canvas)}

將圖像對象轉換為畫布對象。

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)對象。

4、compressAccurately(file, config) {Promise(Blob)}

根據大小壓縮文件(Blob)對象。

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 對象。

覺得效果不錯的請幫忙加個關注點個贊,經常分享前端實用開發技巧

『叄』 怎麼用JavaScript在線壓縮圖片

主要用了兩個html5的 API,一個file,一個canvas,壓縮主要使用cnavas做的,file是讀取文件,之後把壓縮好的照片放入內存,最後內存轉入表單下img.src,隨著表單提交。
照片是自己用單反拍的,5M多,壓縮下面3張分別是600多kb,400多kb,300kb的最後那張失真度很大了,壓縮效率蠻高的。

<!DOCTYPE html>
<html><head> <meta charset="utf-8"/> <title>File API Test</title> <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="js/JIC.js"></script> <style> #test{ display: none; } </style></head><body><input type="file" id="fileImg" ><form> <img src="" id="test" alt=""></form><script> function handleFileSelect (evt) { // var filebtn = document.getElementById(id); // console.log(filebtn); // var files = filebtn.target.files; // console.log(filebtn.target); // console.log(files); var files = evt.target.files; for (var i = 0, f; f = files[i]; i++) { // Only process image files. if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); // Closure to capture the file information. reader.onload = (function(theFile) { return function(e) { // Render thumbnail. // console.log(evt.target.files[0]); // console.log(e.target); console.log(e.target.result); var i = document.getElementById("test"); i.src = event.target.result; console.log($(i).width()); console.log($(i).height()); $(i).css('width',$(i).width()/10+'px'); //$(i).css('height',$(i).height()/10+'px'); console.log($(i).width()); console.log($(i).height()); var quality = 50; i.src = jic.compress(i,quality).src; console.log(i.src); i.style.display = "block"; }; })(f); // Read in the image file as a data URL. reader.readAsDataURL(f); } } document.getElementById('fileImg').addEventListener('change', handleFileSelect, false);</script></body></html>

var jic = { /** * Receives an Image Object (can be JPG OR PNG) and returns a new Image Object compressed * @param {Image} source_img_obj The source Image Object * @param {Integer} quality The output quality of Image Object * @return {Image} result_image_obj The compressed Image Object */ compress: function(source_img_obj, quality, output_format){ var mime_type = "image/jpeg"; if(output_format!=undefined && output_format=="png"){ mime_type = "image/png"; } var cvs = document.createElement('canvas'); //naturalWidth真實圖片的寬度 cvs.width = source_img_obj.naturalWidth; cvs.height = source_img_obj.naturalHeight; var ctx = cvs.getContext("2d").drawImage(source_img_obj, 0, 0); var newImageData = cvs.toDataURL(mime_type, quality/100); var result_image_obj = new Image(); result_image_obj.src = newImageData; return result_image_obj; }, function ****(***)

閱讀全文

與js怎麼壓縮圖片的大小相關的資料

熱點內容
如何在圖片上發送文字 瀏覽:695
賓士glc圖片及價格 瀏覽:297
紋身圖案大全女孩圖片 瀏覽:476
中年女孩子圖片 瀏覽:557
呆萌漫畫女生圖片頭像 瀏覽:637
如何提取電腦的圖片 瀏覽:60
ps如何把圖片往下延伸 瀏覽:447
美女了衣服圖片 瀏覽:847
中大童短發圖片小女孩 瀏覽:582
如何給圖片標注尺寸 瀏覽:290
肚子圖片大全 瀏覽:285
女生吃東西動畫圖片 瀏覽:683
簡單書本卡通邊框圖片可愛 瀏覽:374
動漫男生一對圖片 瀏覽:458
小孩子病人穿的衣服圖片 瀏覽:795
ps怎麼把圖片放平 瀏覽:305
中國女生身材圖片 瀏覽:217
畫可愛的劉海圖片 瀏覽:148
word怎麼將圖片轉成黑白色 瀏覽:519
白色大理石圖片及價格 瀏覽:675