用python壓縮圖片大小

  1. 下載庫
    cmd開命令或者PyCharm執行都行
pip install pillow

在這里插入圖片描述
2. 然后就是代碼

from PIL import Imagedef compress_image(input_path, output_path, quality=85, max_size=None):"""壓縮圖片大小。參數:- input_path: 輸入圖片路徑- output_path: 輸出圖片路徑- quality: 圖片質量 (1-100),數值越低質量越差但文件越小,默認為85- max_size: 最大尺寸 (寬度, 高度),如果圖片超過此尺寸會自動縮小,默認為None"""try:# 打開圖片img = Image.open(input_path)# 如果指定了最大尺寸,則調整圖片大小if max_size:img.thumbnail(max_size, Image.Resampling.LANCZOS)  # 使用 LANCZOS 濾鏡# 保存壓縮后的圖片img.save(output_path, optimize=True, quality=quality)print(f"圖片已成功壓縮并保存到 {output_path}")except Exception as e:print(f"處理圖片時出錯: {e}")if __name__ == "__main__":# 示例用法input_image = r"C:\Users\PC\Desktop\temp\微信圖片_20250329195632.jpg"  # 輸入圖片路徑output_image = r"C:\Users\PC\Desktop\temp\反面.jpg"  # 輸出圖片路徑# 設置壓縮參數compress_quality = 75  # 質量設置為75(可以根據需要調整)max_dimensions = (1024, 1024)  # 最大尺寸設置為1024x1024像素(可選)# 調用函數壓縮圖片compress_image(input_image, output_image, quality=compress_quality, max_size=max_dimensions)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/75981.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/75981.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/75981.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【自用記錄】本地關聯GitHub以及遇到的問題

最近終于又想起GitHub,想上傳代碼和項目到倉庫里。 由于很早之前有在本地連接過GitHub(但沒怎么用),現在需要重新搞起(操作忘得差不多)。 在看教程實操的過程中遇到了一些小問題,遂記錄一下。 前…

在一個scss文件中定義變量,在另一個scss文件中使用

_variables.scss文件 : $line-gradient-init-color: linear-gradient(90deg, #8057ff 0%, #936bff 50%, #b892ff 100%); $line-gradient-hover-color: linear-gradient(90deg, #936bff 0%, #b892ff 50%, #f781ce 100%); $line-gradient-active-color: linear-gradient(90deg, …

從零開始研發GPS接收機連載——19、自制GPS接收機的春運之旅

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 從零開始研發GPS接收機連載——19、自制GPS接收機的春運之旅 許久未曾更新這個系列,并非我平日里對這事兒沒了興致,不再愿意折騰。實則是受限于自身條…

智能駕駛功能LCC車道保持居中

畫龍現象就是LCC常見bug LDW車道偏離預警 LKA車道保持 聲音其實就是蜂鳴器 有些車是40 有些是60

Java全棧面試寶典:線程機制與Spring依賴注入深度解析

目錄 一、Java線程核心機制 🔥 問題3:start()與run()的底層執行差異 線程啟動流程圖解 核心差異對照表 代碼驗證示例 🔥 問題4:Thread與Runnable的六大維度對比 類關系UML圖 最佳實踐代碼 🔥 問題5&#xff1…

使用ANTLR4解析Yaml,JSON和Latex

文章目錄 ANTLR4基本使用**1. 安裝 Java 運行時(必需)****2. 安裝 ANTLR4 命令行工具****方法一:通過包管理器(推薦)****macOS/Linux (Homebrew)****Windows (Chocolatey)** **方法二:手動安裝(…

NixVis 開源輕量級 Nginx 日志分析工具

NixVis NixVis 是一款基于 Go 語言開發的、開源輕量級 Nginx 日志分析工具,專為自部署場景設計。它提供直觀的數據可視化和全面的統計分析功能,幫助您實時監控網站流量、訪問來源和地理分布等關鍵指標,無需復雜配置即可快速部署使用。 演示…

黑盒測試的等價類劃分法(輸入數據劃分為有效的等價類和無效的等價類)

重點: 有效等價和單個無效等價各取1個即可 1、正向用例:一條盡可能覆蓋多條2、逆向用例:每一條數據,都是一條單獨用例。 步驟: 1、明確需求 2、確定有效和無效等價 3、根據有效和無效造數據編寫用例 3、適用場景 針對:需要有大量數據測試輸入, …

Linux Mem -- 通過reserved-memory縮減內存

目錄 1. reserved-memory縮減內存 2. 為什么要通過2段512GB預留內存實現該縮減呢? 3. reserved-momery中的no-map屬性 4. 預留的的內存是否會被統計到系統MemTotal中? 本文是解決具體的一些思考總結,和Linux內核的reserved-memory機制相關…

多線程—synchronized原理

上篇文章: 多線程—鎖策略https://blog.csdn.net/sniper_fandc/article/details/146508232?fromshareblogdetail&sharetypeblogdetail&sharerId146508232&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 synchronized的鎖…

AWS混合云部署實戰:打造企業級數字化轉型的“黃金架構”

引言 “上云是必然,但全部上云未必是必然。”在數字化轉型的深水區,企業面臨的核心矛盾日益凸顯:如何在享受公有云敏捷性的同時,滿足數據主權、低延遲和遺留系統兼容的剛性需求? AWS混合云憑借“云上云下一張網”的獨…

進程模型5-0號進程

內核版本架構作者GitHubCSDNLinux-3.0.1armv7-ALux1206 0號進程的作用 在 Linux 中除了 init_task 0號進程,所有的線/進程都是通過 do_fork 函數復制父線/進程創建得到,因為 0號進程產生時沒有任何進程可以參照,只能通過靜態方式構造進程描述…

計算機二級考前急救(Word篇)

重點題(20套,標黃為精選10套):4,15,17,19,21,24,25,27,36,40,12,18,20,22&…

constant(safe-area-inset-bottom)和env(safe-area-inset-bottom)在uniapp中的使用方法解析

在微信小程序中,padding-bottom: constant(safe-area-inset-bottom); 和 padding-bottom: env(safe-area-inset-bottom); 這兩個 CSS 屬性用于處理 iPhone X 及更高版本設備的安全區域(safe area)。這些設備的底部有一個“Home Indicator”&a…

十二、Cluster集群

目錄 一、集群簡介1、現狀問題2、集群作用 二、集群結構設計1、集群存儲設2、消息通信設計 三、Cluster集群三主三從結構搭建1、redis.conf配置文件可配置項2、配置集群3、鏈接集群4、命令客戶端連接集群并使用 四、集群擴容1、添加節點2、槽位分配3、添加從節點 五、集群縮容1…

Java基礎 3.29

1.數組的相關注意事項 錯誤示范一 String strs[] new String[2]{"a", "b"}; 正確示范一 String strs[] new String[]{"a", "b"}; 讓JVM自己判斷有幾個數據,無需再其中寫明有幾組數據 錯誤示范二 String strs[] new…

從入門到精通:HTML 項目實戰中的學習進度(一)

一、基礎夯實階段 1.1 HTML 文檔結構與核心語法 在 HTML5 的世界里&#xff0c;構建一個文檔就像是搭建一座大廈&#xff0c;堅實的基礎至關重要。HTML5 文檔的基礎框架以<!DOCTYPE html>聲明開場&#xff0c;這就好比是給瀏覽器下達的一份 “指令書”&#xff0c;明確…

FFmpeg —— 實時繪制音頻波形圖(附源碼)

?? FFmpeg 相關音視頻技術、疑難雜癥文章合集(掌握后可自封大俠 ?_?)(記得收藏,持續更新中…) 實時繪制音頻波形圖 步驟 ????? ??????????FFmpeg打開媒體文件,讀取每一包數據,將音頻數據包進行緩沖,一包一包處理音頻緩沖,對音頻緩沖包進行解碼,讀…

大數據學習(88)-zookeeper實現的高可用(HA)

&#x1f34b;&#x1f34b;大數據學習&#x1f34b;&#x1f34b; &#x1f525;系列專欄&#xff1a; &#x1f451;哲學語錄: 用力所能及&#xff0c;改變世界。 &#x1f496;如果覺得博主的文章還不錯的話&#xff0c;請點贊&#x1f44d;收藏??留言&#x1f4dd;支持一…

基于MFC按鈕邏輯

void CSUCCES1Dlg::SetDlgItemState()//IDC_BTN_INIT初始化按鈕 { GigeState state = GigeState::ARV_NONE;//GigeState是一個枚舉類型,stat狀態為ARV_NONE int idx = ((CListBox*)GetDlgItem(IDC_LIST_GIGE))->GetCurSel();//GetDlgItem 是 MFC 框架提供的一個成員…