home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- __version__ = '0.1'
- import Image
- import ImageFile
- import ImagePalette
- import string
-
- def _tomb(val):
- l = [
- chr(val & 127)]
- val = val >> 7
- while val != 0:
- l.append(chr(val & 127 | 128))
- val = val >> 7
- l.reverse()
- return string.join(l, '')
-
-
- def _frommb(s, index = 0):
- (val, cont) = (0, 1)
- while cont:
- ch = ord(s[index])
- index = index + 1
- cont = ch & 128
- val = val << 7 | ch & 127
- return (val, index)
-
-
- def _accept(prefix):
- (type, index) = _frommb(prefix)
- header = ord(prefix[index])
- if type != 0 or header != 0:
- return 0
- return 1
-
-
- class WbmpImageFile(ImageFile.ImageFile):
- format = 'WBMP'
- format_description = 'Wireless'
-
- def _open(self):
- s = self.fp.read(128)
- if not _accept(s):
- raise SyntaxError('not a WBMP file')
- _accept(s)
- (width, index) = _frommb(s, 2)
- (height, index) = _frommb(s, index)
- self.size = (width, height)
- self.mode = '1'
- self.tile = [
- ('raw', (0, 0) + self.size, index, (self.mode, 0, 1))]
-
-
- SAVE = {
- '1': (2, 1, 1, '1') }
-
- def _save(im, fp, filename, check = 0):
-
- try:
- (version, bits, planes, rawmode) = SAVE[im.mode]
- except KeyError:
- raise ValueError('Cannot save %s images as WBMP' % im.mode)
-
- if check:
- return check
- (width, height) = im.size
- fp.write(chr(0) + chr(0) + _tomb(width) + _tomb(height))
- ImageFile._save(im, fp, [
- ('raw', (0, 0) + im.size, 0, (rawmode, 0, 1))])
-
- Image.register_open('WBMP', WbmpImageFile, _accept)
- Image.register_save('WBMP', _save)
- Image.register_extension('WBMP', '.wbmp')
-