Reading the Width and Height of a JPEG File |
|
Here’s the script:
I'm sure it can be optimized but my knowledge of binary data is less then minimal. One thing the script doesn't check is if the file is a true JPEG. A similar process can read/extract the thumbnail image if the JPEG has one and/or the exif data if it exists but I have a family to feed and my time for playing is over ;-).on mouseUp answer file "Pick a JPEG:" if it <> "" then put GetDimensions(it) -- puts <width>,<height> end if end mouseUp function GetDimensions pFilePath put url ("binfile:" & pFilePath) into rawFile put length(rawFile) into tLen put offset(numtochar("255") & numtochar("217"), rawFile) into eoj if (eoj+2) >= tLen then put 0 into tCount else put eoj into tCount repeat while tCount<tLen put offset(numtochar("255"), rawFile,tCount) into tOff put chartonum(char tCount+tOff+1 of rawFile) into tChar if tChar is among the items of "192,193,194,195" then put char (tCount+tOff+5) to (tCount+tOff+8) of rawFile into rawSize put baseconvert(chartonum(char 1 of rawSize),10,16) & baseconvert(chartonum(char 2 of rawSize),10,16) into hSize put baseconvert(chartonum(char 3 of rawSize),10,16)& baseconvert(chartonum(char 4 of rawSize),10,16) into wSize put "H=" & baseconvert(hSize,16,10) & "," & "W=" & baseconvert(wSize,16,10) into dimensions return dimensions end if add tOff to tCount end repeat end mouseUp
Posted 12/20/2002 by Andu Novac to the MetaCard List (See the complete post/thread)