def open_image_with_pil(uri): image = imtools.open_image(uri) # types which PIL can open, but not load compression = image.info.get("compression", "none") if hasattr(compression, "startswith") and compression.startswith("group"): # tiff image with group4 compression check_libtiff("g4") # raise exception if openImage not present image = open_libtiff(uri) return image
def open_image_with_pil(uri): image = imtools.open_image(uri) #types which PIL can open, but not load compression = image.info.get('compression', 'none') if hasattr(compression, 'startswith') and \ compression.startswith('group'): # tiff image with group4 compression check_libtiff('g4') # raise exception if openImage not present image = open_libtiff(uri) return image
# interlaced png if ok and not(Image.VERSION < '1.1.7' and image.format == 'PNG' and 'interlace' in image.info): return image # png, tiff (which pil can only handle partly) if local: image = open_image_without_pil(uri, ENHANCE_PIL) if image: image.info['Format'] = image.format image.format = format return image else: image = None if image is None: raise IOError(message) return imtools.open_image(uri) def open_image_exif(uri): return imtools.transpose_exif(open(uri)) def open_image_exif_thumb(uri): if pyexiv2: try: pyexiv2_image = pyexiv2.Image(uri) pyexiv2_image.readMetadata() thumb_data = pyexiv2_image.getThumbnailData() if thumb_data: return imtools.open_image_data(thumb_data) except Exception, details: