Selles näites saate õppida JPEG.webp-pildi eraldusvõimet ilma väliseid teeke kasutamata
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Pythoni programmeerimise teemadest:
- Pythoni funktsioonid
- Pythoni kasutaja määratud funktsioonid
- Pythoni faili sisend / väljund
JPEG.webp (hääldatakse "jay-peg") tähistab ühist fotograafiaekspertide rühma. See on üks pildi tihendamise enimkasutatavaid tehnikaid.
Enamikul failivormingutest on päised (paar algbaiti), mis sisaldavad faili kohta kasulikku teavet.
Näiteks sisaldavad JPEG.webp-päised sellist teavet nagu kõrgus, laius, värvide arv (halltoonid või RGB) jne. Selles programmis leiame neid päiseid lugeva JPEG.webp-pildi eraldusvõime, kasutamata välist teeki.
JPEG.webp-pildi leidmise eraldusvõime lähtekood
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")
Väljund
Pildi eraldusvõime on 280 x 280
Selles programmis avasime pildi binaarrežiimis. Mitte-tekstifailid peavad selles režiimis olema avatud. Kujutise kõrgus on 164. positsioonil, millele järgneb pildi laius. Mõlemad on 2 baiti pikad.
Pange tähele, et see kehtib ainult standardi JPEG.webp File Interchange Format (JFIF) puhul. Kui teie pilt on kodeeritud mõne muu standardiga (näiteks EXIF), ei tööta kood.
Teisendame 2 baiti numbriks, kasutades bittide kaupa nihutatavat operaatorit <<. Lõpuks kuvatakse eraldusvõime.