Pangkas Gambar dengan Python

Pemotongan gambar adalah fitur penting dalam aplikasi pengeditan gambar dan desain grafis. Ini memungkinkan Anda mengubah ukuran gambar dan memangkas tepinya. Saat memproses gambar atau mengedit gambar dalam aplikasi Python, pengembang sering kali memerlukan mekanisme pemotongan gambar yang mudah. Jadi dalam postingan blog ini, kita akan mempelajari cara memotong gambar dengan mulus di aplikasi Python.

Perpustakaan Python untuk Memotong Gambar

Untuk memotong gambar, kita akan menggunakan Aspose.Imaging for Python. Ini adalah perpustakaan serbaguna yang menyediakan berbagai fitur untuk bekerja dengan gambar. Khususnya, ini memungkinkan Anda melakukan tugas pengeditan gambar dasar dan lanjutan dengan mudah.

Anda dapat mengunduh perpustakaan atau menginstalnya ke aplikasi Python Anda dari PyPI.

> pip install aspose-imaging-python-net 

Memotong Gambar dengan Python

Ada dua cara untuk memotong gambar menggunakan Aspose.Imaging for Python: menggunakan nilai shift dan menggunakan persegi panjang. Dalam metode nilai pergeseran, kami menentukan nilai kiri, kanan, atas, dan bawah untuk pergeseran gambar. Di sisi lain, kami menggunakan persegi panjang untuk menentukan area pemotongan pada metode kedua.

Jadi mari kita bahas masing-masing metode pemotongan gambar di atas dengan bantuan cuplikan kode Python.

Pangkas Gambar dengan Nilai Shift dengan Python

Langkah-langkah di bawah ini menunjukkan cara memotong gambar menggunakan nilai shift dengan Python.

  • Pertama, gunakan metode Image.load() untuk memuat gambar sebagai RasterImage.
  • Kemudian, simpan gambar dalam cache untuk kinerja yang lebih baik.
  • Tentukan nilai shift kiri, kanan, atas, dan bawah.
  • Teruskan nilai shift ke metode RasterImage.crop() dan pangkas gambar.
  • Terakhir, simpan gambar yang dipotong menggunakan metode RasterImage.save().

Cuplikan kode berikut menunjukkan cara memotong gambar dengan 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

# Muat gambar yang ada ke dalam instance kelas RasterImage
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	# Sebelum dipotong, gambar harus di-cache untuk kinerja yang lebih baik
	if not raster_image.is_cached:
		raster_image.cache_data()

	# Tentukan nilai pergeseran untuk keempat sisi
	left_shift = 10
	right_shift = 10
	top_shift = 10
	bottom_shift = 10
  
	# Berdasarkan nilai pergeseran, terapkan pemotongan pada gambar
	raster_image.crop(left_shift, right_shift, top_shift, bottom_shift)
  
  	# Simpan gambar yang dipotong
	raster_image.save(os.path.join(data_dir, "result.jpg"))

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

Di bawah ini adalah tangkapan layar gambar masukan (pertama) dan versi yang dipotong (kedua).

potong gambar dengan Python
pemotongan gambar dengan Python

Memotong Gambar dengan Persegi Panjang

Dalam metode ini, kita mendefinisikan persegi panjang untuk memotong area tertentu pada gambar yang dimuat. Gambar yang dihasilkan berisi bagian gambar yang berada di dalam persegi panjang tersebut. Berikut langkah-langkah melakukan crop gambar menggunakan persegi panjang.

Cuplikan kode berikut menunjukkan pemotongan gambar dengan persegi panjang dengan 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

# Muat gambar yang ada ke dalam instance kelas 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()

	# Buat instance kelas Rectangle dengan ukuran yang diinginkan
	rectangle = Rectangle(20, 20, 20, 20)
  
  	# Pangkas gambar
	raster_image.crop(rectangle)
  
  	# Menyimpan gambar
	raster_image.save(os.path.join(data_dir, "result.jpg"))

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

Dapatkan Perpustakaan Pemangkasan Gambar Python Gratis

Anda bisa mendapatkan lisensi sementara gratis dan memotong gambar tanpa batasan evaluasi.

Kesimpulan

Aspose.Imaging for Python memberikan solusi tangguh untuk pemotongan dan manipulasi gambar. Entri blog ini memberi Anda beberapa metode pemotongan gambar yang dapat Anda integrasikan dengan mudah ke dalam aplikasi Python Anda. Tingkatkan kemampuan pemrosesan gambar Anda dengan API pengeditan gambar Python yang canggih ini. Jelajahi fitur-fiturnya yang luar biasa dengan mengunjungi dokumentasi dan sampaikan pertanyaan Anda kepada kami melalui forum kami.

Lihat juga