Bildbeskärning är en viktig funktion i applikationer för bildredigering och grafikdesign. Det låter dig ändra storlek på bilderna och klippa av deras kanter. När utvecklare bearbetar bilder eller hanterar bildredigering i Python-applikationer kräver utvecklare ofta en enkel bildbeskärningsmekanism. Så i det här blogginlägget kommer vi att lära oss hur man beskära bilder sömlöst i en Python-applikation.
- Python-bibliotek för att beskära bilder - gratis nedladdning
- Beskär bilder i Python
- Beskär bilder med skiftvärden
- Bildbeskärning med en rektangel
Python-bibliotek för att beskära bilder
För bildbeskärning kommer vi att använda Aspose.Imaging for Python. Det är ett mångsidigt bibliotek som tillhandahåller en rad funktioner för att arbeta med bilder. I synnerhet låter den dig utföra grundläggande såväl som avancerade bildredigeringsuppgifter med lätthet.
Du kan antingen ladda ner biblioteket eller installera det i dina Python-applikationer från PyPI.
> pip install aspose-imaging-python-net
Beskär en bild i Python
Det finns två sätt att beskära en bild med Aspose.Imaging för Python: att använda skiftvärden och använda en rektangel. I skiftvärdesmetoden anger vi vänster-, höger-, topp- och bottenvärden för bildskift. Å andra sidan använder vi en rektangel för att definiera beskärningsområdet i den andra metoden.
Så låt oss gå igenom var och en av de ovan angivna bildbeskärningsmetoderna med hjälp av Python-kodsnuttar.
Beskär en bild med Shift-värden i Python
Stegen nedan visar hur man beskär en bild med hjälp av skiftvärden i Python.
- Använd först metoden Image.load() för att ladda bilden som en RasterImage.
- Cacha sedan bilden för bättre prestanda.
- Ange skiftvärdena för vänster, höger, topp och botten.
- Skicka skiftvärdena till metoden RasterImage.crop() och beskära bilden.
- Slutligen, spara den beskurna bilden med metoden RasterImage.save().
Följande kodavsnitt visar hur man beskär en bild i Python.
import aspose.pycore as aspycore
from aspose.imaging import RasterImage, Image, Rectangle
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
data_dir = templates_folder
# Ladda en befintlig bild i en instans av RasterImage-klassen
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
# Innan beskärning bör bilden cachelagras för bättre prestanda
if not raster_image.is_cached:
raster_image.cache_data()
# Definiera skiftvärden för alla fyra sidorna
left_shift = 10
right_shift = 10
top_shift = 10
bottom_shift = 10
# Baserat på skiftvärdena, tillämpa beskärningen på bilden
raster_image.crop(left_shift, right_shift, top_shift, bottom_shift)
# Spara beskuren bild
raster_image.save(os.path.join(data_dir, "result.jpg"))
if delete_output:
os.remove(os.path.join(data_dir, "result.jpg"))
Nedan är skärmdumparna av ingångsbilden (första) och dess beskurna version (andra).
Bildbeskärning med en rektangel
I den här metoden definierar vi en rektangel för att beskära ett visst område i den laddade bilden. Den resulterande bilden innehåller den del av bilden som kommer inuti den rektangeln. Följande är stegen för att beskära en bild med en rektangel.
- Använd först metoden Image.load() för att ladda bilden som en RasterImage.
- Cacha sedan bilden.
- Skapa en Rektangel av önskad storlek.
- Skicka Rectangle-objektet till metoden RasterImage.crop() och beskära bilden.
- Slutligen, spara den beskurna bilden med metoden RasterImage.save().
Följande kodsnutt visar bildbeskärning med en rektangel i Python.
import aspose.pycore as aspycore
from aspose.imaging import RasterImage, Image, Rectangle
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
data_dir = templates_folder
# Ladda en befintlig bild i en instans av RasterImage-klassen
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
if not raster_image.is_cached:
raster_image.cache_data()
# Skapa en instans av klassen Rectangle med önskad storlek
rectangle = Rectangle(20, 20, 20, 20)
# Beskära bild
raster_image.crop(rectangle)
# Spara bild
raster_image.save(os.path.join(data_dir, "result.jpg"))
if delete_output:
os.remove(os.path.join(data_dir, "result.jpg"))
Skaffa gratis Python-bildbeskärningsbibliotek
Du kan få en gratis tillfällig licens och beskära bilder utan utvärderingsbegränsningar.
Slutsats
Aspose.Imaging för Python ger en robust lösning för bildbeskärning och manipulering. Det här blogginlägget gav dig ett par bildbeskärningsmetoder som du enkelt kan integrera i dina Python-applikationer. Förbättra dina bildbehandlingsmöjligheter med detta kraftfulla Python-bildredigerings-API. Utforska dess fantastiska funktioner genom att besöka dokumentationen och dela dina frågor med oss via vårt forum.