Python是一種強大的編程語言,可以用于許多不同的應用程序和項目。其中之一是圖像處理,包括壓縮。
壓縮圖像可以幫助減小圖像占用的存儲空間,同時提高加載速度。Python包括一些庫,可以使用它們來壓縮圖像。
from PIL import Image import os def compress_image(filepath, max_size): img = Image.open(filepath) if img.mode != 'RGB': img = img.convert('RGB') width, height = img.size img_size = os.path.getsize(filepath) // 1024 if img_size<= max_size: return False ratio = max_size / img_size new_width = int(width * ratio) new_height = int(height * ratio) new_image = img.resize((new_width, new_height), Image.ANTIALIAS) new_image.save(filepath, optimize=True, quality=85) return True if __name__ == '__main__': filepath = 'image.jpg' max_size = 100 # KB compress_image(filepath, max_size)
上面的代碼使用Python Imaging Library(PIL)來讀取和壓縮圖像。程序的輸入是一個文件路徑和最大大小(以KB為單位),輸出是一個Boolean值來表示是否進行了壓縮。
在代碼中,首先打開文件,并檢查圖像的模式是否為RGB。然后,使用os庫中的os.path.getsize()函數來獲取圖像的大小(以KB為單位)。如果圖像的大小小于或等于最大大小,那么就不需要壓縮了。
接下來,計算壓縮比例,并使用PIL庫中的resize()函數來調整圖像的大小。最后,使用save()函數來保存新的壓縮圖像。
在此基礎上,還可以添加其他功能,比如自動檢測文件夾中的所有圖像并壓縮它們。Python強大的庫和易于使用的語法使得壓縮圖像變得非常簡單。