def getGifInfo(self, data): imageDetails = ImageDetails() imageDetails.setMimeType('gif') imageDetails.setWidth(ord(data[6])+ord(data[7])*256) imageDetails.setHeight(ord(data[8])+ord(data[9])*256) imageDetails.size = len(data) return imageDetails
def getPngInfo(self, data): if data[12:16] != 'IHDR': return None imageDetails = ImageDetails() imageDetails.setMimeType('png') imageDetails.setWidth(int(data[16:20].encode('hex'),16)) imageDetails.setHeight(int(data[20:24].encode('hex'),16)) imageDetails.size = len(data) return imageDetails
def getJpegInfo(self, data, pos = 2): if data[pos] != '\xff': return None pos += 1; if data[pos] in ['\xc0','\xc1','\xc2','\xc3']: pos += 4 imageDetails = ImageDetails() imageDetails.setMimeType('jpg') imageDetails.setWidth(ord(data[pos+2])*256 + ord(data[pos+3])) imageDetails.setHeight(ord(data[pos])*256 + ord(data[pos+1])) imageDetails.size = len(data) return imageDetails pos += 1; delta = ord(data[pos])*256 + ord(data[pos+1]) return self.getJpegInfo(data, pos + delta)