Du lærer at finde opløsning af et jpeg.webp-billede i dette eksempel uden at bruge eksterne biblioteker
For at forstå dette eksempel skal du have kendskab til følgende Python-programmeringsemner:
- Python-funktioner
- Python brugerdefinerede funktioner
- Python File I / O
JPEG.webp (udtales "jay-peg") står for Joint Photographic Experts Group. Det er en af de mest anvendte kompressionsteknikker til billedkomprimering.
De fleste af filformaterne har overskrifter (indledende få byte), der indeholder nyttige oplysninger om filen.
For eksempel indeholder jpeg.webp-overskrifter information som højde, bredde, antal farver (gråtoner eller RGB) osv. I dette program finder vi opløsningen på et jpeg.webp-billede, der læser disse overskrifter uden brug af eksternt bibliotek.
Kildekode til find opløsning af JPEG.webp-billede
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")
Produktion
Billedets opløsning er 280 x 280
I dette program åbnede vi billedet i binær tilstand. Ikke-tekstfiler skal være åbne i denne tilstand. Billedets højde er på 164. position efterfulgt af billedets bredde. Begge er 2 byte lange.
Bemærk, at dette kun gælder for JPEG.webp File Interchange Format (JFIF) -standard. Hvis dit billede kodes ved hjælp af en anden standard (som EXIF), fungerer koden ikke.
Vi konverterer de 2 byte til et tal ved hjælp af bitvis skiftende operator <<. Endelig vises opløsningen.