導航:首頁 > 動漫圖片 > 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怎麼壓縮圖片的大小相關的資料

熱點內容
圖片和視頻如何配合的 瀏覽:443
徐州電動三輪車價格及圖片 瀏覽:315
榕樹怎麼畫圖片 瀏覽:257
ai圖片怎麼去褪色 瀏覽:783
劉海發型圖片圓臉發型圖片大全 瀏覽:663
word為圖片添加框架 瀏覽:409
阿嬌短發型圖片 瀏覽:730
生日的賀卡圖片大全簡單 瀏覽:276
女生漫畫女王圖片 瀏覽:566
部落沖突六本陣營高清圖片 瀏覽:131
黃金是如何煉成的圖片 瀏覽:400
小清新圖片女生唯美頭像圖片大全 瀏覽:479
插畫中的發型圖片 瀏覽:30
怎麼保存word文件里的圖片 瀏覽:286
吳京個人發型圖片 瀏覽:43
旗袍美女動漫圖片 瀏覽:44
18動漫禁圖片大全 瀏覽:695
哈薩克族美食圖片高清版 瀏覽:555
png動漫圖片下載 瀏覽:397
電競美女主播圖片 瀏覽:504