V tem primeru se boste naučili najti ločljivost slike jpeg.webp brez uporabe zunanjih knjižnic
Če želite razumeti ta primer, morate poznati naslednje programske teme Python:
- Python funkcije
- Uporabniško določene funkcije Pythona
- I / O datoteke Python
JPEG.webp (izgovarja se "jay-peg") pomeni Joint Photographic Experts Group. Je ena najpogosteje uporabljenih kompresijskih tehnik za stiskanje slike.
Večina formatov datotek ima glave (začetnih nekaj bajtov), ki vsebujejo koristne informacije o datoteki.
Na primer, glave jpeg.webp vsebujejo podatke, kot so višina, širina, število barv (sivine ali RGB) itd. V tem programu najdemo ločljivost slike jpeg.webp, ki bere te glave, ne da bi uporabljali zunanjo knjižnico.
Izvorna koda Ločljivost iskanja slike 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")
Izhod
Ločljivost slike je 280 x 280
V tem programu smo sliko odprli v binarnem načinu. V tem načinu morajo biti odprte nebesedilne datoteke. Višina slike je na 164. mestu, čemur sledi širina slike. Oba sta dolga 2 bajta.
Upoštevajte, da to velja le za standard JPEG.webp File Interchange Format (JFIF). Če vaša slika kodira z drugimi standardi (na primer EXIF), koda ne bo delovala.
2 bajta pretvorimo v številko z uporabo bitnega premikalnega operatorja <<. Na koncu se prikaže ločljivost.