Python Pillow - Bekerja dengan Gambar
Bab ini menguraikan topik termasuk cara membaca dan menyimpan gambar di Pillow.
Membaca Gambar
Membaca dan menulis gambar menggunakan pustaka bantal sangat sederhana, dengan bantuan PIL.Image module function.
Sintaksis
Image.open(fp, mode=’r’)
Dimana
fp- Nama file (string), objek pathlib.Path atau objek file. Objek file harus mengimplementasikan metode read (), seek () dan tell () dan dibuka dalam mode biner.
mode - Ini adalah argumen opsional, jika diberikan, harus 'r'.
Return value - Objek gambar.
Error - Jika file tidak dapat ditemukan, atau gambar tidak dapat dibuka dan diidentifikasi.
Contoh
Berikut adalah contoh yang sangat sederhana, di mana kami akan membuka gambar dalam format apa pun (Kami menggunakan.jpg), tampilkan di jendela lalu simpan (lokasi default) dengan format file lain (.png).
from PIL import Image
image = Image.open('beach1.jpg')
image.show()
image.save('beach1.bmp')
image1 = Image.open('beach1.bmp')
image1.show()
Pada contoh di atas, kita mengimpor modul Image dari pustaka PIL dan kemudian, memanggil Image.open()berfungsi untuk membaca gambar dari disk, yang mengembalikan tipe data objek gambar. Ini akan secara otomatis menentukan jenis file dengan melihat konten file. Untuk membaca,open() fungsi menerima a filename(string), Sebuah path object atau sebuah image(file) obyek.
Jadi, dengan menggunakan fungsi open (), kita sebenarnya membaca gambar. Image.open () akan membaca gambar dan mendapatkan semua informasi yang relevan dari gambar.
Keluaran
Jika Anda menyimpan program di atas sebagai Example.py dan menjalankannya, ini akan menampilkan gambar asli (.jpg) dan disimpan kembali (.bmp) menggunakan utilitas tampilan PNG standar, sebagai berikut -
Actual image
Resaved image (.bmp)
Menyimpan Gambar
Fungsi save () menulis gambar ke file. Seperti untuk membaca (open () function), fungsi save () menerima nama file, objek jalur atau objek file yang telah dibuka untuk ditulis.
Sintaksis
Image.save(fp, format=None, **params)
Dimana,
fp - Nama file (string), objek pathlib.Path atau objek file.
format- Penimpaan format opsional. Jika dihilangkan, format yang digunakan ditentukan dari ekstensi nama file. Jika objek file digunakan sebagai pengganti nama file, parameter ini harus selalu digunakan.
options - Parameter ekstra untuk penulis gambar.
Return value - Tidak ada
KeyError - Jika format keluaran tidak dapat ditentukan dari nama file, gunakan opsi format untuk mengatasi ini.
IOError - Jika file tidak dapat ditulis, file mungkin telah dibuat, dan mungkin berisi sebagian data.
Singkatnya, sintaks di atas akan menyimpan gambar di bawah nama file yang diberikan. Jika tidak ada format yang ditentukan, maka itu didasarkan pada ekstensi nama file saat ini. Untuk memberikan instruksi tambahan kepada penulis, kami menggunakan opsi kata kunci.
image.save('beach1.bmp')
Dalam contoh di atas, ini menyimpan file berdasarkan ekstensi file untuk menentukan jenis gambar, misalnya - di atas akan membuat file bmp di direktori kerja kami saat ini.
Anda juga dapat secara eksplisit menentukan jenis file sebagai parameter kedua -
image.save('beach1.gif', 'GIF')