Python PIL.ImageFile.LOAD_TRUNCATED_IMAGES Examples
The following are 15
code examples of PIL.ImageFile.LOAD_TRUNCATED_IMAGES().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
PIL.ImageFile
, or try the search function
.
Example #1
Source File: test_file_png.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 7 votes |
def test_verify_ignores_crc_error(self): # check ignores crc errors in ancillary chunks chunk_data = chunk(b'tEXt', b'spam') broken_crc_chunk_data = chunk_data[:-1] + b'q' # break CRC image_data = HEAD + broken_crc_chunk_data + TAIL self.assertRaises(SyntaxError, PngImagePlugin.PngImageFile, BytesIO(image_data)) ImageFile.LOAD_TRUNCATED_IMAGES = True try: im = load(image_data) self.assertIsNotNone(im) finally: ImageFile.LOAD_TRUNCATED_IMAGES = False
Example #2
Source File: test_file_png.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_leak_load(self): with open('Tests/images/hopper.png', 'rb') as f: DATA = BytesIO(f.read(16 * 1024)) ImageFile.LOAD_TRUNCATED_IMAGES = True with Image.open(DATA) as im: im.load() def core(): with Image.open(DATA) as im: im.load() try: self._test_leak(core) finally: ImageFile.LOAD_TRUNCATED_IMAGES = False
Example #3
Source File: media.py From open-context-py with GNU General Public License v3.0 | 6 votes |
def get_image_obj(src_file, new_file): """Gets an image object and png flag.""" output = None png = False if src_file.lower().endswith('.png'): png = True if src_file == new_file: return None, None if not os.path.exists(src_file): raise RuntimeError('Cannot find ' + src_file) ImageFile.LOAD_TRUNCATED_IMAGES = True try: im = Image.open(src_file) im.LOAD_TRUNCATED_IMAGES = True except: print('Cannot use as image: ' + src_file) im = None if im is None: return None, None return im, png
Example #4
Source File: test_file_jpeg.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_truncated_jpeg_should_read_all_the_data(self): filename = "Tests/images/truncated_jpeg.jpg" ImageFile.LOAD_TRUNCATED_IMAGES = True im = Image.open(filename) im.load() ImageFile.LOAD_TRUNCATED_IMAGES = False self.assertIsNotNone(im.getbbox())
Example #5
Source File: test_imagefile.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_truncated_without_errors(self): if "zip_encoder" not in codecs: self.skipTest("PNG (zlib) encoder not available") im = Image.open("Tests/images/truncated_image.png") ImageFile.LOAD_TRUNCATED_IMAGES = True try: im.load() finally: ImageFile.LOAD_TRUNCATED_IMAGES = False
Example #6
Source File: test_imagefile.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_broken_datastream_without_errors(self): if "zip_encoder" not in codecs: self.skipTest("PNG (zlib) encoder not available") im = Image.open("Tests/images/broken_data_stream.png") ImageFile.LOAD_TRUNCATED_IMAGES = True try: im.load() finally: ImageFile.LOAD_TRUNCATED_IMAGES = False
Example #7
Source File: test_file_png.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_verify_not_ignores_crc_error_in_required_chunk(self): # check does not ignore crc errors in required chunks image_data = MAGIC + IHDR[:-1] + b'q' + TAIL ImageFile.LOAD_TRUNCATED_IMAGES = True try: self.assertRaises(SyntaxError, PngImagePlugin.PngImageFile, BytesIO(image_data)) finally: ImageFile.LOAD_TRUNCATED_IMAGES = False
Example #8
Source File: check_png_dos.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_ignore_dos_text(self): ImageFile.LOAD_TRUNCATED_IMAGES = True try: im = Image.open(TEST_FILE) im.load() finally: ImageFile.LOAD_TRUNCATED_IMAGES = False for s in im.text.values(): self.assertLess(len(s), 1024*1024, "Text chunk larger than 1M") for s in im.info.values(): self.assertLess(len(s), 1024*1024, "Text chunk larger than 1M")
Example #9
Source File: apps.py From course-discovery with GNU Affero General Public License v3.0 | 5 votes |
def ready(self): super(CourseMetadataConfig, self).ready() # We need to add this setting because, since MM programs we are accepting banner # images with height less than 480 max. In order to accept those images, we need # to allow PIL to work with these images correctly by setting this variable true ImageFile.LOAD_TRUNCATED_IMAGES = True # noinspection PyUnresolvedReferences import course_discovery.apps.course_metadata.signals # pylint: disable=import-outside-toplevel,unused-import
Example #10
Source File: filters.py From stegoVeritas with GNU General Public License v2.0 | 5 votes |
def run_filter(image, f_a, filt): try: g = f_a.filter(filt) except IOError as e: # Generically print it, then try again (truncated error) logger.error("%s", e) ImageFile.LOAD_TRUNCATED_IMAGES = True g = f_a.filter(filt) g.save(os.path.join(image.veritas.results_directory, os.path.basename(image.veritas.file_name) + "_" + filt.name.replace(" ","_") + ".png"))
Example #11
Source File: tbimages.py From open-context-py with GNU General Public License v3.0 | 5 votes |
def make_preview_file(self, src_file, new_file): """ Makes preview images. This preserves the orginal aspect ratio. The height can be greater than the width, so we're not just going to use the thumbnail method """ output = False png = False if '.png' in src_file or '.PNG' in src_file: png = True if src_file != new_file: if os.path.exists(src_file): # print('Getting: ' + src_file) ImageFile.LOAD_TRUNCATED_IMAGES = True try: im = Image.open(src_file) im.LOAD_TRUNCATED_IMAGES = True except: print('Cannot use as image: ' + src_file) im = False if im is not False: ratio = 1 # default to same size if im.width > self.preview_width: new_width = self.preview_width ratio = im.width / self.preview_width else: new_width = im.width new_neight = int(round((im.height * ratio), 0)) size = (new_width, new_neight) rescale_ok = False try: im.load() rescale_ok = True except IOError: rescale_ok = False print('Problem rescaling image for: ' + new_file) self.errors.append(new_file) if rescale_ok: if png: im.thumbnail(size, Image.ANTIALIAS) background = Image.new("RGB", im.size, (255, 255, 255)) try: background.paste(im, mask=im.split()[3]) # 3 is the alpha channel background.save(new_file, "JPEG", quality=100) output = new_file except: png = False print('cannot save the preview file: ' + new_file) del background if png is False: im.thumbnail(size, Image.ANTIALIAS) try: im.save(new_file, "JPEG", quality=100) output = new_file except: print('cannot save the preview file: ' + new_file) del im return output
Example #12
Source File: fuse.py From pvnet-rendering with Apache License 2.0 | 5 votes |
def read_rgb_np(rgb_path): ImageFile.LOAD_TRUNCATED_IMAGES = True img = Image.open(rgb_path).convert('RGB') img = np.array(img,np.uint8) return img
Example #13
Source File: images.py From open-context-py with GNU General Public License v3.0 | 4 votes |
def make_preview_file(self, src_file, new_file): """ Makes preview images. This preserves the orginal aspect ratio. The height can be greater than the width, so we're not just going to use the thumbnail method """ output = False png = False if '.png' in src_file or '.PNG' in src_file: png = True if src_file != new_file: if os.path.exists(src_file): # print('Getting: ' + src_file) ImageFile.LOAD_TRUNCATED_IMAGES = True try: im = Image.open(src_file) im.LOAD_TRUNCATED_IMAGES = True except: print('Cannot use as image: ' + src_file) im = False if im is not False: ratio = 1 # default to same size if im.width > self.preview_width: new_width = self.preview_width ratio = im.width / self.preview_width else: new_width = im.width new_neight = int(round((im.height * ratio), 0)) size = (new_width, new_neight) rescale_ok = False try: im.load() rescale_ok = True except IOError: rescale_ok = False print('Problem rescaling image for: ' + new_file) self.errors.append(new_file) if rescale_ok: if png: im.thumbnail(size, Image.ANTIALIAS) background = Image.new("RGB", im.size, (255, 255, 255)) try: background.paste(im, mask=im.split()[3]) # 3 is the alpha channel background.save(new_file, "JPEG", quality=100) output = new_file except: png = False print('cannot save the preview file: ' + new_file) del background if png is False: im.thumbnail(size, Image.ANTIALIAS) try: im.save(new_file, "JPEG", quality=100) output = new_file except: print('cannot save the preview file: ' + new_file) del im return output
Example #14
Source File: images.py From open-context-py with GNU General Public License v3.0 | 4 votes |
def make_thumbnail_file(self, src_file, new_file): """ This makes a thumbnail file. It is a little more simple, since it uses the default thumbnail method, meaning it has a max height and a max width """ output = False png = False if '.png' in src_file or '.PNG' in src_file: png = True if src_file != new_file: if os.path.exists(src_file): # print('Getting: ' + src_file) ImageFile.LOAD_TRUNCATED_IMAGES = True try: im = Image.open(src_file) im.LOAD_TRUNCATED_IMAGES = True except: print('Cannot use as image: ' + src_file) im = False if im is not False: size = (self.thumbnail_width_height, self.thumbnail_width_height) rescale_ok = False try: im.load() rescale_ok = True except IOError: rescale_ok = False print('Problem rescaling image for: ' + new_file) self.errors.append(new_file) if rescale_ok: if png: im.thumbnail(size, Image.ANTIALIAS) background = Image.new("RGB", im.size, (255, 255, 255)) try: background.paste(im, mask=im.split()[3]) # 3 is the alpha channel background.save(new_file, "JPEG", quality=100) output = new_file except: png = False print('cannot save the preview file: ' + new_file) del background if png is False: im.thumbnail(size, Image.ANTIALIAS) try: im.save(new_file, "JPEG", quality=100) output = new_file except: print('cannot save the preview file: ' + new_file) del im return output
Example #15
Source File: tbimages.py From open-context-py with GNU General Public License v3.0 | 4 votes |
def make_thumbnail_file(self, src_file, new_file): """ This makes a thumbnail file. It is a little more simple, since it uses the default thumbnail method, meaning it has a max height and a max width """ output = False png = False if '.png' in src_file or '.PNG' in src_file: png = True if src_file != new_file: if os.path.exists(src_file): # print('Getting: ' + src_file) ImageFile.LOAD_TRUNCATED_IMAGES = True try: im = Image.open(src_file) im.LOAD_TRUNCATED_IMAGES = True except: print('Cannot use as image: ' + src_file) im = False if im is not False: size = (self.thumbnail_width_height, self.thumbnail_width_height) rescale_ok = False try: im.load() rescale_ok = True except IOError: rescale_ok = False print('Problem rescaling image for: ' + new_file) self.errors.append(new_file) if rescale_ok: if png: im.thumbnail(size, Image.ANTIALIAS) background = Image.new("RGB", im.size, (255, 255, 255)) try: background.paste(im, mask=im.split()[3]) # 3 is the alpha channel background.save(new_file, "JPEG", quality=100) output = new_file except: png = False print('cannot save the preview file: ' + new_file) del background if png is False: im.thumbnail(size, Image.ANTIALIAS) try: im.save(new_file, "JPEG", quality=100) output = new_file except: print('cannot save the preview file: ' + new_file) del im return output