Oříznout obrázky v Python

Oříznutí obrázku je základní funkcí v aplikacích pro úpravu obrázků a návrh grafiky. Umožňuje změnit velikost obrázků a oříznout jejich okraje. Při zpracování obrázků nebo úpravách obrázků v aplikacích Python vývojáři často vyžadují jednoduchý mechanismus ořezávání obrázků. V tomto příspěvku na blogu se tedy naučíme, jak plynule oříznout obrázky v aplikaci Python.

Knihovna Python pro oříznutí obrázků

Pro oříznutí obrázku použijeme Aspose.Imaging for Python. Jedná se o všestrannou knihovnu, která poskytuje řadu funkcí pro práci s obrázky. Zejména vám umožňuje snadno provádět základní i pokročilé úkoly úpravy obrázků.

Knihovnu si můžete buď stáhnout, nebo ji nainstalovat do svých aplikací Python z PyPI.

> pip install aspose-imaging-python-net 

Oříznutí obrázku v Python

Existují dva způsoby, jak oříznout obrázek pomocí Aspose.Imaging for Python: pomocí hodnot posunu a pomocí obdélníku. V metodě hodnot posunu určujeme hodnoty vlevo, vpravo, nahoře a dole pro posun obrazu. Na druhou stranu použijeme obdélník k definování oblasti oříznutí ve druhém způsobu.

Pojďme si tedy projít každou z výše uvedených metod ořezávání obrázků pomocí úryvků kódu Python.

Ořízněte obrázek s hodnotami Shift v Python

Níže uvedené kroky ukazují, jak oříznout obrázek pomocí hodnot posunu v Python.

  • Nejprve použijte metodu Image.load() k načtení obrázku jako RasterImage.
  • Poté uložte obrázek do mezipaměti pro lepší výkon.
  • Zadejte hodnoty posunu vlevo, vpravo, nahoře a dole.
  • Předejte hodnoty posunu metodě RasterImage.crop() a ořízněte obrázek.
  • Nakonec oříznutý obrázek uložte pomocí metody RasterImage.save().

Následující fragment kódu ukazuje, jak oříznout obrázek v 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

# Načtěte existující obrázek do instance třídy RasterImage
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	# Před oříznutím by měl být obrázek pro lepší výkon uložen do mezipaměti
	if not raster_image.is_cached:
		raster_image.cache_data()

	# Definujte hodnoty posunu pro všechny čtyři strany
	left_shift = 10
	right_shift = 10
	top_shift = 10
	bottom_shift = 10
  
	# Na základě hodnot posunu použijte oříznutí obrázku
	raster_image.crop(left_shift, right_shift, top_shift, bottom_shift)
  
  	# Uložit oříznutý obrázek
	raster_image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

Níže jsou snímky vstupního obrázku (první) a jeho oříznuté verze (druhá).

oříznout obrázek v Python
oříznutí obrázku v Python

Oříznutí obrázku pomocí obdélníku

V této metodě definujeme obdélník pro oříznutí určité oblasti v načteném obrázku. Výsledný obrázek obsahuje část obrázku, která se nachází uvnitř tohoto obdélníku. Následují kroky pro oříznutí obrázku pomocí obdélníku.

Následující fragment kódu ukazuje oříznutí obrázku pomocí obdélníku v 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

# Načtěte existující obrázek do instance třídy RasterImage
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()

	# Vytvořte instanci třídy Rectangle s požadovanou velikostí
	rectangle = Rectangle(20, 20, 20, 20)
  
  	# Oříznout obrázek
	raster_image.crop(rectangle)
  
  	# Uložit obrázek
	raster_image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

Získejte bezplatnou knihovnu pro ořezávání obrázků v Python

Můžete získat bezplatnou dočasnou licenci a oříznout obrázky bez omezení hodnocení.

Závěr

Aspose.Imaging for Python poskytuje robustní řešení pro ořezávání obrázků a manipulaci s nimi. Tento blogový příspěvek vám poskytl několik metod oříznutí obrázků, které můžete snadno integrovat do svých aplikací Python. Vylepšete své možnosti zpracování obrázků pomocí tohoto výkonného rozhraní API pro úpravu obrázků Python. Prozkoumejte jeho úžasné funkce návštěvou dokumentace a sdílejte s námi své dotazy prostřednictvím našeho fóra.

Viz také