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.