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
Example #2
0
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
Example #3
0
    # 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: