Anda akan belajar menemukan resolusi gambar jpeg.webp dalam contoh ini tanpa menggunakan pustaka eksternal
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Python berikut:
- Fungsi Python
- Fungsi yang Ditentukan Pengguna Python
- I / O File Python
JPEG.webp (dibaca "jay-peg") adalah singkatan dari Joint Photographic Experts Group. Ini adalah salah satu teknik kompresi yang paling banyak digunakan untuk kompresi gambar.
Sebagian besar format file memiliki header (beberapa byte awal) yang berisi informasi berguna tentang file tersebut.
Misalnya, header jpeg.webp berisi informasi seperti tinggi, lebar, jumlah warna (skala abu-abu atau RGB), dll. Dalam program ini, kami menemukan resolusi gambar jpeg.webp yang membaca header ini, tanpa menggunakan library eksternal.
Kode Sumber Resolusi Temukan Gambar JPEG.webp
def jpeg.webp_res(filename): """"This function prints the resolution of the jpeg.webp image file passed into it""" # open image for reading in binary mode with open(filename,'rb') as img_file: # height of image (in 2 bytes) is at 164th position img_file.seek(163) # read the 2 bytes a = img_file.read(2) # calculate height height = (a(0) << 8) + a(1) # next 2 bytes is width a = img_file.read(2) # calculate width width = (a(0) << 8) + a(1) print("The resolution of the image is",width,"x",height) jpeg.webp_res("img1.jpg.webp")
Keluaran
Resolusi gambarnya adalah 280 x 280
Dalam program ini, kami membuka gambar dalam mode biner. File non-teks harus dibuka dalam mode ini. Tinggi gambar berada pada posisi 164 diikuti dengan lebar gambar. Keduanya memiliki panjang 2 byte.
Perhatikan bahwa ini hanya berlaku untuk standar JPEG.webp File Interchange Format (JFIF). Jika gambar Anda dikodekan menggunakan standar lain (seperti EXIF), kode tidak akan berfungsi.
Kami mengubah 2 byte menjadi angka menggunakan operator pergeseran bitwise <<. Akhirnya, resolusi ditampilkan.