This commit is contained in:
Dmitry Bely 2016-12-05 02:14:51 +00:00 committed by GitHub
commit 5fa0021136
3 changed files with 35 additions and 0 deletions

View File

@ -974,6 +974,7 @@ class TiffImageFile(ImageFile.ImageFile):
self.__frame += 1
self.fp.seek(self._frame_pos[frame])
self.tag_v2.load(self.fp)
self.__next = self.tag_v2.next
# fill the legacy tag/ifd entries
self.tag = self.ifd = ImageFileDirectory_v1.from_v2(self.tag_v2)
self.__frame = frame

Binary file not shown.

View File

@ -444,11 +444,45 @@ class TestFileTiff(PillowTestCase):
self.assertEqual(im.size, (10, 10))
im.load()
self.assertRaises(EOFError, lambda: im.seek(2))
im.seek(0)
self.assertEqual(im._compression, 'tiff_ccitt')
self.assertEqual(im.size, (10, 10))
im.load()
im.seek(1)
self.assertEqual(im._compression, 'packbits')
self.assertEqual(im.size, (10, 10))
im.load()
im.seek(0)
self.assertEqual(im._compression, 'tiff_ccitt')
self.assertEqual(im.size, (10, 10))
im.load()
im2 = Image.open('Tests/images/compression2.tif')
im2.seek(0)
self.assertEqual(im2._compression, 'packbits')
self.assertEqual(im2.size, (10, 10))
im2.load()
im2.seek(1)
self.assertEqual(im2._compression, 'tiff_ccitt')
self.assertEqual(im2.size, (10, 10))
im2.load()
im2.seek(0)
self.assertEqual(im2._compression, 'packbits')
self.assertEqual(im2.size, (10, 10))
im2.load()
im2.seek(1)
self.assertEqual(im2._compression, 'tiff_ccitt')
self.assertEqual(im2.size, (10, 10))
im2.load()
def test_save_tiff_with_jpegtables(self):
# Arrange
outfile = self.tempfile("temp.tif")