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())
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())
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']
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"]
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"
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
def read(filename): try: return Image.read(filename) except SanperaError: log_exc(level=logging.DEBUG) raise WeasylError('imageDecodeError')
def get_image(path): """Return a test data image, as an `Image` object.""" return Image.read(find_image(path))
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.)
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)
def read(filename): try: return Image.read(filename) except SanperaError as e: capture_exception(e, level='info') raise WeasylError('imageDecodeError') from e