Bildkomprimering är en vanlig metod som minskar filstorleken på bilder samtidigt som deras visuella kvalitet bevaras. Genom att ta bort överflödiga eller onödiga data möjliggör bildkomprimeringstekniker snabbare uppladdningar, minskade lagringskrav och förbättrat bandbreddsutnyttjande. När du bearbetar bilder programmatiskt behöver du ofta minska deras storlekar. Så i den här artikeln kommer du att lära dig hur du enkelt komprimerar bilder i en Python-applikation.
Python bildkomprimeringsbibliotek
För att komprimera bilder i Python kommer vi att använda Aspose.Imaging for Python. Det är ett kraftfullt bildbehandlingsbibliotek som erbjuder en rad funktioner för att bearbeta och manipulera bilder från dina Python-applikationer. Du kan antingen ladda ner biblioteket eller installera det med följande kommando.
> pip install aspose-imaging-python-net
Komprimera en bild i Python
För att komprimera en bild kan du ställa in värdet på komprimeringsnivån från 0 till 9. Värdet 9 representerar den maximala komprimeringen och 0 är lagringsläget. Följande är stegen för att komprimera en PNG-bild i Python.
- Ladda först in bilden med bildklassen.
- Skapa sedan ett objekt av klassen PngOptions.
- Efter det ställer du in komprimeringsnivån med PngOptions.compressionlevel-egenskapen.
- Slutligen sparar du den komprimerade bilden med metoden Image.save(String, PngOptions).
Följande kodexempel visar hur man komprimerar en bild i 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():
# In- och utdatafilsökvägar
input_file = os.path.join(templates_folder, "template.png")
output_file = os.path.join(templates_folder, "compressed_png.png")
# Ladda bilden
with Image.load(input_file) as image:
obj_init = PngOptions()
# Ställ in kompressionsnivå
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)
# Spara komprimerad bild
image.save(output_file, obj_init)
if delete_output:
os.remove(output_file)
För att komprimera bilder i andra format använder vi respektive klass ImageOption. Till exempel, för att komprimera JPG-bilder kommer vi att använda JpegOptions och för Tiff-bilder kommer vi att använda [TiffOptions] ](https://reference.aspose.com/imaging/python-net/aspose.imaging.imageoptions/tiffoptions/) klass.
Skaffa gratis bildkomprimeringsbibliotek
Du kan få en gratis tillfällig licens och komprimera bilder i dina Python-applikationer utan några utvärderingsbegränsningar.
Komprimera bilder online
Vi har också skapat ett webbaserat verktyg, gratis bildkomprimering, för att komprimera bilder online. Du kan använda det här verktyget för att komprimera så många bilder du behöver utan att skapa ett konto.
Slutsats
Den här artikeln gav dig en effektiv lösning för att komprimera bilder i Python. Med hjälp av steg och kodexempel har du lärt dig hur du enkelt komprimerar en bild. Dessutom har vi introducerat dig för ett gratis online bildkomprimeringsverktyg, som är baserat på Aspose.Imaging för Python. Du kan använda verktyget var som helst utan att skapa ett konto.
Du kan utforska mer om vårt Python-bildbehandlingsbibliotek med dokumentation. Du kan också dela din feedback med oss via vårt forum.