首頁 web前端 js教程 Js+Canvas做出圖片壓縮

Js+Canvas做出圖片壓縮

Apr 17, 2018 am 11:33 AM
javascript 壓縮

這次帶給大家Js Canvas做出圖片壓縮,Js Canvas做出圖片壓縮的注意事項有哪些,下面就是實戰案例,一起來看一下。

/* 
 * 图片压缩
 * img    原始图片
 * width   压缩后的宽度
 * height  压缩后的高度
 * ratio   压缩比率 
 */
 function compress(img, width, height, ratio) {        
   var canvas, ctx, img64;
   canvas = document.createElement('canvas');        
   canvas.width = width;
   canvas.height = height;    
   ctx = canvas.getContext("2d");            
   img64 = canvas.toDataURL("image/jpeg", ratio);    
   return img64;
 }
登入後複製

上面是圖片壓縮函數,傳回 base64 格式的圖片資料。其中壓縮比率取值(0 - 1 之間)越大圖片品質越高。建議不要將圖片轉為 png 格式,因為轉為 png 格式,圖片的 base64 比轉為 jpeg 的圖片要長不少。下面是實際呼叫:

var image = new Image();
image.src = "/img/test.jpg";
      
image.onload = function(){
  var img64 = compress(image, 500, 400, 0.7);
  document.getElementById("test").src = img64;
}
登入後複製

注意:壓縮方法的呼叫以及圖片src賦值必須放在圖片的 onload 方法裡面。因為只有等圖片載入完成後才能進行壓縮處理,進而轉換為base64 來賦值。如果放在 onload 方法外面,則可能壓縮程式碼無效,或者會產生一張純黑色的圖片。

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

angularJS Ionic在行動端進行圖片上傳(附程式碼)

Particles.js實作粒子動態背景動畫

#

以上是Js+Canvas做出圖片壓縮的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用WebSocket和JavaScript實現線上語音辨識系統 如何使用WebSocket和JavaScript實現線上語音辨識系統 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

7-zip最大壓縮率設定,7zip如何壓縮到最小 7-zip最大壓縮率設定,7zip如何壓縮到最小 Jun 18, 2024 pm 06:12 PM

發現某下載網站下載的壓縮包,解壓縮後再打包會比原來的壓縮包大一些,小的幾十Kb的差別,大的幾十Mb的差別,如果上傳到雲盤或付費空間,文件少無所謂,文件多的話,大大的增加儲存成本。特意研究了下,有需要的可以藉鏡。壓縮等級:9-極限壓縮字典大小:256或384,字典越壓縮越慢,256MB之前壓縮率差異較大,384MB後壓縮率無差別單字大小:最大273參數:f=BCJ2,測試加參數壓縮率會高一些

WebSocket與JavaScript:實現即時監控系統的關鍵技術 WebSocket與JavaScript:實現即時監控系統的關鍵技術 Dec 17, 2023 pm 05:30 PM

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

減小win10錄影檔大小的建議 減小win10錄影檔大小的建議 Jan 04, 2024 pm 12:05 PM

許多的小夥伴都需要錄影畫面進行辦公室或傳輸文件,但是有時候會出現文件過大的問題製造了很多麻煩,下面就給大家帶來了文件過大的解決方法,一起看看吧。 win10錄影檔太大怎麼辦:1.下載軟體格式工廠來進行壓縮檔。下載位址>>2、進入主頁面,點選「影片-MP4」選項。 3、在轉換格式頁面中點選“新增檔案”,選擇要壓縮的MP4檔案。 4、點擊頁面“輸出配置”,透過輸出品質來壓縮檔案。 5、下拉配置清單選擇「低品質和大小」點選「確定」。 6、點選「確定」完成影片檔案的導入。 7.點選「開始」進行轉換。 8.完成後即可

JavaScript與WebSocket:打造高效率的即時天氣預報系統 JavaScript與WebSocket:打造高效率的即時天氣預報系統 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

簡易JavaScript教學:取得HTTP狀態碼的方法 簡易JavaScript教學:取得HTTP狀態碼的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

wps怎麼壓縮資料夾打包發送 wps怎麼壓縮資料夾打包發送 Mar 20, 2024 pm 12:58 PM

辦公人員在工作中使用wps軟體進行操作的頻率特別地多,有時一天會輸入多個文件,然後發送給領導或發送到指定位置,那麼wps軟體如何壓縮文件夾打包發送呢,下面小編就教大家這個操作步驟。首先,將要傳送的文件和資料夾整理到同一個資料夾中。如果有很多文件,最好將每個文件命名,這樣在發送時更容易識別。  第二步,這個時候點擊這個大的資料夾,然後點擊滑鼠右鍵。選擇“新增到壓縮檔案”。  第三步,這個時候軟體會自動幫我們打包我們的文件,選項“壓縮到XX.zip”,這個zip就是打包的格式,然後點擊立即壓縮。 

winrar 64位元-winrar怎麼解壓縮? winrar 64位元-winrar怎麼解壓縮? Mar 18, 2024 pm 12:55 PM

WinRAR是一款功能強大的壓縮檔案管理工具,提供了豐富的功能和易於使用的介面。 WinRAR64位元版本特別針對64位元作業系統進行了最佳化,能夠更好地利用系統資源和效能。接下來就請小編為大家介紹一下winrar64位元以及解答一下winrar怎麼解壓縮吧!一、winrar64位元是什麼軟體WinRAR是一款功能強大的壓縮套件管理器。這款軟體可用於備份您的數據,縮減電子郵件附件的大小,解壓縮從Internet上下載的RAR、ZIP及其它文件,並且可以新建RAR及ZIP格式的文件。目前最新WINRAR版本為Wi

See all articles