コード例 #1
0
ファイル: demo-program.py プロジェクト: habnabit/sanpera
def demo_program():
    filenames = sys.argv[1:]
    out_filename = filenames.pop()

    images = Image()
    for fn in filenames:
        print "Reading %s ..." % (fn, )
        #img = Image.from_filename(fn)
        #img = Image.from_buffer(open(fn).read())
        img = Image.read(open(fn))
        print " %lu frames" % (len(img), )
        images.extend(img)

    if not images:
        raise IOError("Failed to read any images!")

    # Create a thumbnail image sequence
    thumbnails = images.resize(106, 80)
    del img
    del images

    # Write the thumbnail image sequence to file
    if thumbnails:
        print "Writing %s ... %lu frames" % (out_filename, len(thumbnails))
        open(out_filename, 'w').write(thumbnails.to_buffer())
コード例 #2
0
ファイル: demo-program.py プロジェクト: harvimt/sanpera
def demo_program():
    filenames = sys.argv[1:]
    out_filename = filenames.pop()

    images = Image()
    for fn in filenames:
        print("Reading %s ..." % fn)
        #img = Image.from_filename(fn)
        #img = Image.from_buffer(open(fn).read())
        img = Image.read(fn)
        print(" %lu frames" % len(img))
        images.extend(img)

    if not images:
        raise IOError("Failed to read any images!")

    # Create a thumbnail image sequence
    thumbnails = images.resized((106, 80))
    del img
    del images

    # Write the thumbnail image sequence to file
    if thumbnails:
        print("Writing %s ... %lu frames" % (out_filename,
             len(thumbnails)))
        open(out_filename, 'wb').write(thumbnails.to_buffer())
コード例 #3
0
ファイル: image.py プロジェクト: TheWug/weasyl
def check_type(filename):
    """
    Return True if the filename corresponds to an image file, else False.
    """
    try:
        im = Image.read(filename)
    except SanperaError:
        return False
    else:
        return im.original_format in ['JPEG', 'PNG', 'GIF']
コード例 #4
0
ファイル: image.py プロジェクト: Weasyl/weasyl
def check_type(filename):
    """
    Return True if the filename corresponds to an image file, else False.
    """
    try:
        im = Image.read(filename)
    except SanperaError:
        return False
    else:
        return im.original_format in ['JPEG', 'PNG', 'GIF']
コード例 #5
0
def check_type(filename, secure=True):
    """
    Return True if the filename corresponds to an image file, else False.
    """
    if secure:
        try:
            im = Image.read(filename)
        except SanperaError:
            return False
        else:
            return im.original_format in ['JPEG', 'PNG', 'GIF']
    else:
        return filename and filename[-4:] in [".jpg", ".png", ".gif"]
コード例 #6
0
ファイル: image.py プロジェクト: Syfaro/weasyl
def check_type(filename, secure=True):
    """
    Return True if the filename corresponds to an image file, else False.
    """
    if secure:
        try:
            im = Image.read(filename)
        except SanperaError:
            return False
        else:
            return im.original_format in ['JPEG', 'PNG', 'GIF']
    else:
        return filename and filename[-4:] in [".jpg", ".png", ".gif"]
コード例 #7
0
ファイル: test_identify.py プロジェクト: harvimt/sanpera
def test_identify_size():
    img = Image.read(util.find_image("eye.gif"))

    assert len(img) == 1, "one frame"
    assert img.original_format == "GIF", "image is a gif"  # XXX this should be a magick format object
    assert img.size == Size(32, 32), "dimensions are 32x32"

    frame = img[0]
    assert frame.canvas.position == Vector(0, 0), "virtual canvas has no offset"
    assert not frame.canvas.position, "virtual canvas offset registers as false"
    assert frame.canvas.size == Size(32, 32), "virtual canvas is 32x32"
    assert frame.canvas.size == img.size, "virtual canvas size is image size"
    assert not frame.has_canvas, "frame isn't using a virtual canvas"
    assert not img.has_canvas, "image isn't using a virtual canvas"
コード例 #8
0
def test_pixel_iter():
    """Does iterating over pixels appear to work?"""
    img = Image.read(util.find_image('terminal.gif'))
    pixel_iter = iter(img[0].pixels)

    white = RGBColor(1., 1., 1.)

    px = next(pixel_iter)
    assert px.point == Vector(0, 0)
    assert px.color == white

    px = next(pixel_iter)
    assert px.point == Vector(1, 0)
    assert px.color == white
コード例 #9
0
ファイル: test_pixel.py プロジェクト: eevee/sanpera
def test_pixel_iter():
    """Does iterating over pixels appear to work?"""
    img = Image.read(util.find_image('terminal.gif'))
    pixel_iter = iter(img[0].pixels)

    white = RGBColor(1., 1., 1.)

    px = next(pixel_iter)
    assert px.point == Vector(0, 0)
    assert px.color == white

    px = next(pixel_iter)
    assert px.point == Vector(1, 0)
    assert px.color == white
コード例 #10
0
def read(filename):
    try:
        return Image.read(filename)
    except SanperaError:
        log_exc(level=logging.DEBUG)
        raise WeasylError('imageDecodeError')
コード例 #11
0
ファイル: util.py プロジェクト: habnabit/sanpera
def get_image(path):
    """Return a test data image, as an `Image` object."""
    return Image.read(find_image(path))
コード例 #12
0
ファイル: test_pixel.py プロジェクト: eevee/sanpera
def test_pixel_get():
    """Does random pixel inspection work?"""
    img = Image.read(util.find_image('terminal.gif'))
    assert img[0].pixels[11, 6] == RGBColor(1., 0., 0.)
コード例 #13
0
def test_pixel_get():
    """Does random pixel inspection work?"""
    img = Image.read(util.find_image('terminal.gif'))
    assert img[0].pixels[11, 6] == RGBColor(1., 0., 0.)
コード例 #14
0
ファイル: common.py プロジェクト: Weasyl/sanpera
    def compare(self, got, expected_name):
        expected = Image.read(os.path.join(self.tempdir, expected_name))
        got.write(os.path.join(self.tempdir, 'GOT-' + expected_name), format='miff')

        util.assert_identical(got, expected)
コード例 #15
0
ファイル: image.py プロジェクト: Syfaro/weasyl
def read(filename):
    try:
        return Image.read(filename)
    except SanperaError:
        log_exc(level=logging.DEBUG)
        raise WeasylError('imageDecodeError')
コード例 #16
0
ファイル: image.py プロジェクト: TheWug/weasyl
def read(filename):
    try:
        return Image.read(filename)
    except SanperaError as e:
        capture_exception(e, level='info')
        raise WeasylError('imageDecodeError') from e
コード例 #17
0
ファイル: util.py プロジェクト: Weasyl/sanpera
def get_image(path):
    """Return a test data image, as an `Image` object."""
    return Image.read(find_image(path))