OSDN Git Service

add wp_imgswap2.py for new OSDN Magazine
[otptools/otptools.git] / getjpggeom.py
1 #!/usr/bin/python
2 import struct
3
4 def get_jpeg_geometory(filename):
5     jpeg = open(filename, 'r')
6     jpeg.read(2)
7     b = jpeg.read(1)
8     try:
9         while (b and ord(b) != 0xDA):
10             while (ord(b) != 0xFF): b = jpeg.read(1)
11             while (ord(b) == 0xFF): b = jpeg.read(1)
12             if (ord(b) >= 0xC0 and ord(b) <= 0xC3):
13                 jpeg.read(3)
14                 h, w = struct.unpack(">HH", jpeg.read(4))
15                 break
16             else:
17                 jpeg.read(int(struct.unpack(">H", jpeg.read(2))[0])-2)
18             b = jpeg.read(1)
19         width = int(w)
20         height = int(h)
21         return (width, height)
22     except struct.error:
23         return (None, None)
24     except ValueError:
25         return (None, None)
26
27 if __name__ == '__main__':
28     pass
29 #(w, h) = get_jpeg_geometory('test.jpg')
30 #print w, h
31
32