Pythoni programm pildi suuruse (eraldusvõime) leidmiseks

Lang L: none (table-of-contents)

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.

Huvitavad Artiklid...