在 Python 中壓縮圖像

圖像壓縮是一種常用的方法,可以減小圖像的文件大小,同時保持其視覺質量。通過刪除冗餘或不必要的數據,圖像壓縮技術可以加快上傳速度、降低存儲要求並提高帶寬利用率。在以編程方式處理圖像時,您經常需要減小它們的大小。因此,在本文中,您將學習如何在 Python 應用程序中輕鬆壓縮圖像。

Python圖像壓縮庫

為了在Python中壓縮圖像,我們將使用Aspose.Imaging for Python。它是一個強大的圖像處理庫,提供一系列功能來處理和操作 Python 應用程序中的圖像。您可以下載該庫或使用以下命令安裝它。

> pip install aspose-imaging-python-net 

在 Python 中壓縮圖像

要壓縮圖像,您可以將壓縮級別的值設置為 0 到 9。值 9 表示最大壓縮,0 表示存儲模式。以下是在 Python 中壓縮 PNG 圖像的步驟。

  • 首先,使用 Image 類加載圖像。
  • 然後,創建 PngOptions 類的對象。
  • 之後,使用 PngOptions.compressionlevel 屬性設置壓縮級別。
  • 最後,使用 Image.save(String, PngOptions) 方法保存壓縮圖像。

以下代碼示例展示瞭如何在 Python 中壓縮圖像。

from aspose.imaging.fileformats.png import PngColorType
from aspose.imaging.imageoptions import PngOptions
from aspose.imaging import ColorPaletteHelper, Image
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ


def compress_png():
  	# 輸入和輸出文件路徑
	input_file = os.path.join(templates_folder, "template.png")
	output_file = os.path.join(templates_folder, "compressed_png.png")
  
  	# 加載圖片
	with Image.load(input_file) as image:
		obj_init = PngOptions()
    
    		# 設置壓縮級別
		obj_init.compression_level = 9
		obj_init.progressive = True
		obj_init.color_type = PngColorType.INDEXED_COLOR
		obj_init.palette = ColorPaletteHelper.get_close_image_palette(image, 1 << 5)
    
    		# 保存壓縮圖像
		image.save(output_file, obj_init)

	if delete_output:
		os.remove(output_file)

要壓縮其他格式的圖像,我們將使用相應的 ImageOption 類。例如,要壓縮 JPG 圖像,我們將使用 JpegOptions,對於 Tiff 圖像,我們將使用 TiffOptions 類。

獲取免費的圖像壓縮庫

您可以獲得免費臨時許可證,並在 Python 應用程序中壓縮圖像,沒有任何評估限制。

在線壓縮圖像

我們還創建了一個基於網絡的工具,免費圖像壓縮器,用於在線壓縮圖像。您可以使用此工具壓縮所需數量的圖像,而無需創建帳戶。

結論

本文為您提供了一種在Python中壓縮圖像的有效解決方案。在步驟和代碼示例的幫助下,您已經學會瞭如何輕鬆壓縮圖像。此外,我們還向您介紹了一個免費的在線圖像壓縮工具,它基於 Aspose.Imaging for Python。您可以在任何地方使用該工具,無需創建帳戶。

您可以使用 文檔 探索有關我們的 Python 圖像處理庫的更多信息。此外,您可以通過我們的論壇 與我們分享您的反饋。

也可以看看