Komprimujte obrázky v Python

Komprese obrázku je běžně používaná metoda, která zmenšuje velikost souborů obrázků při zachování jejich vizuální kvality. Odstraněním nadbytečných nebo nepotřebných dat umožňují techniky komprese obrazu rychlejší nahrávání, nižší nároky na úložiště a lepší využití šířky pásma. Při programovém zpracování obrázků často potřebujete zmenšit jejich velikost. V tomto článku se tedy dozvíte, jak jednoduše komprimovat obrázky v aplikaci Python.

Knihovna pro kompresi obrázků Python

Ke kompresi obrázků v Python použijeme Aspose.Imaging for Python. Je to výkonná knihovna pro zpracování obrázků, která nabízí řadu funkcí pro zpracování a manipulaci s obrázky z vašich aplikací Python. Knihovnu můžete buď stáhnout, nebo ji nainstalovat pomocí následujícího příkazu.

> pip install aspose-imaging-python-net 

Komprimujte obrázek v Python

Pro komprimaci obrázku můžete nastavit hodnotu úrovně komprese od 0 do 9. Hodnota 9 představuje maximální kompresi a 0 je režim úložiště. Níže jsou uvedeny kroky ke kompresi obrázku PNG v Python.

  • Nejprve načtěte obrázek pomocí třídy Image.
  • Poté vytvořte objekt třídy PngOptions.
  • Poté nastavte úroveň komprese pomocí vlastnosti PngOptions.compressionlevel.
  • Nakonec uložte komprimovaný obrázek pomocí metody Image.save(String, PngOptions).

Následující ukázka kódu ukazuje, jak komprimovat obrázek v 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():
  	# Vstupní a výstupní cesty k souboru
	input_file = os.path.join(templates_folder, "template.png")
	output_file = os.path.join(templates_folder, "compressed_png.png")
  
  	# Načíst obrázek
	with Image.load(input_file) as image:
		obj_init = PngOptions()
    
    		# Nastavte úroveň komprese
		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)
    
    		# Uložit komprimovaný obrázek
		image.save(output_file, obj_init)

	if delete_output:
		os.remove(output_file)

Ke kompresi obrázků jiných formátů použijeme příslušnou třídu ImageOption. Například ke kompresi obrázků JPG použijeme JpegOptions a pro obrázky Tiff použijeme TiffOptions .

Získejte zdarma knihovnu pro kompresi obrázků

Můžete získat bezplatnou dočasnou licenci a komprimovat obrázky ve svých aplikacích Python bez jakýchkoli omezení hodnocení.

Komprimujte obrázky online

Vytvořili jsme také webový nástroj bezplatný kompresor obrázků, který komprimuje obrázky online. Pomocí tohoto nástroje můžete komprimovat tolik obrázků, kolik potřebujete, aniž byste si museli vytvořit účet.

Závěr

Tento článek vám poskytl efektivní řešení pro kompresi obrázků v Python. S pomocí kroků a ukázky kódu jste se naučili, jak bez námahy komprimovat obrázek. Kromě toho jsme vám představili bezplatný online nástroj pro kompresi obrázků, který je založen na Aspose.Imaging for Python. Nástroj můžete používat odkudkoli bez vytvoření účtu.

Více o naší knihovně pro zpracování obrázků v Python můžete prozkoumat pomocí dokumentace. Svou zpětnou vazbu s námi můžete sdílet také prostřednictvím našeho fóra.

Viz také