Commit Graph

1650 Commits

Author SHA1 Message Date
wiredfool
8ed63793bf Merge pull request #2111 from anntzer/save-tiff-resolution-when-originally-missing-entry
Fix saving originally missing TIFF tags.
2016-09-22 09:20:56 +01:00
Hugo
bc354d10c2 Merge pull request #2110 from patricksnape/allow_pathlib_py2
Allow pathlib.Path in Image.open on Python 2.7
2016-09-20 17:54:11 +03:00
Hugo
d13760a0cd Merge pull request #2121 from hugovk/b64decode
Use modern base64 interface over deprecated
2016-09-20 17:52:07 +03:00
Antony Lee
7e9c944caf Fix saving originally missing TIFF tags.
Don't incorrectly set the tag type to None if it was originally missing.
2016-09-19 00:31:17 -07:00
hugovk
40c6825fb1 Use modern base64 interface over deprecated 2016-09-19 08:08:34 +03:00
homm
9453129a57 simpler colormap lookup 2016-09-17 12:38:45 +03:00
homm
859a75ba07 complete getrgb tests 2016-09-17 12:22:27 +03:00
homm
951143c936 #f0f0 and #ff00ff00 colors 2016-09-17 12:11:06 +03:00
Patrick Snape
e981c41b47 Allow pathlib.Path in Image.open on Python 2.7
Although the pathlib backport for Python 2.7 may be deprecated:
https://pypi.python.org/pypi/pathlib/
It is still used by many projects. Therefore, changing to a
Try/Except pattern for checking for pathlib is not any more
obtrusive that the current >= Python 3.4 check and allows users
to use the backport without issue.
2016-09-15 10:05:36 +01:00
Andrew Murray
b346ed36f1 Added append_images parameter to GIF saving 2016-09-11 12:04:01 +10:00
Andrew Murray
be7a191b6e Added local color table for subsequent GIF frames 2016-09-11 11:57:45 +10:00
Andrew Murray
572a3d970c Removed whitespace from blank lines 2016-09-03 12:23:42 +10:00
Andrew Murray
72d5218080 Flake8 fixes 2016-09-03 12:17:22 +10:00
Robert Nix
2be760ca79 Add support for BC7 to DdsImagePlugin 2016-08-26 02:26:03 -05:00
Robert Nix
b46804ea27 Add support for DXT3 to DdsImagePlugin 2016-08-25 20:12:44 -05:00
Robert Nix
18a91cebcf Move DDS decoders to C
- Fixed inaccurate BC1/BC3 texture decoding
2016-08-25 19:27:48 -05:00
wiredfool
0444b4935b Merge pull request #2061 from wiredfool/j2k-access
Added return for J2k (and fpx) Load to return a pixel access object
2016-08-25 12:26:18 +01:00
wiredfool
e980ca7896 Merge pull request #2010 from uploadcare/jpeg-raise-on-alpha
Show warning when trying to save RGBA image as JPEG
2016-08-25 11:41:49 +01:00
wiredfool
5d2667efda Merge pull request #2022 from uploadcare/rotation-pixel-center
Respect pixel centers during transform
2016-08-25 11:40:09 +01:00
Matthew Brett
824a0c232c BF: fix conversion of bit images to numpy arrays
Numpy cannot form arrays from bits.  To convert bit images to numpy,
convert bits to bytes.

From suggestion by Alexander Karpinsky, with thanks.

Fixes gh-350.
2016-08-17 18:47:14 -07:00
homm
193c756139 return implicit RGBA to JPEG save, raise warning 2016-08-09 03:11:35 +03:00
wiredfool
cf27e03dcd Added return for J2k (and fpx) Load to return a pixel access object 2016-08-08 07:36:34 -07:00
homm
993e49c0be Merge branch 'master' into rotation-pixel-center 2016-08-07 13:47:16 +03:00
wiredfool
ffa18c8efd Merge pull request #2011 from vlmath/master
Add ImageOps.scale to expand or contract a PIL image by a factor
2016-08-06 22:19:50 +01:00
wiredfool
3f2ce1f6b7 Merge pull request #2027 from techtonik/patch-2
Expose Pillow package version as PIL.__version__
2016-08-06 22:03:46 +01:00
Alexander Karpinsky
bc2c933552 Merge pull request #2052 from uploadcare/rotate-loading
Fix image loading when rotating by 0 deg
2016-08-05 19:35:06 +03:00
homm
3185262e31 fix image loading when rotating by 0 deg 2016-08-05 19:20:02 +03:00
anatoly techtonik
7bfb2527bb Expose Pillow package version as PIL.__version__ 2016-07-15 11:00:55 +03:00
homm
c2b4ff5fa4 skip empty values in ImageFileDirectory 2016-07-12 18:09:02 +03:00
Marco De Donno
8355a34c14 patch : image copy 2016-07-11 12:18:07 +02:00
Alexander Karpinsky
37841dbaeb Merge pull request #2012 from uploadcare/endless-files
Remove "end of file" banner from all files
2016-07-11 14:15:02 +04:00
Marco De Donno
47ebf695ac Patch : Change from self to image 2016-07-11 12:00:44 +02:00
homm
2221a6467c fix test which relied on old bugs 2016-07-11 01:47:25 +03:00
homm
1ba4e9e5ba remove end of file banner from all files 2016-07-10 14:11:28 +03:00
wiredfool
cc50204e03 Fix documentation warnings, convert params to correct format 2016-07-08 11:36:49 +01:00
Marco De Donno
7d8fea012b Code style update 2016-07-06 01:32:16 +02:00
wiredfool
e8c123c833 Merge pull request #1959 from uploadcare/new-filters
Add Box and Hamming filters for resampling
2016-07-05 12:25:57 +01:00
wiredfool
5514df3ed1 Merge pull request #2009 from uploadcare/fix-cffi-tests
Retain a reference to core image object in PyAccess
2016-07-05 12:24:56 +01:00
Marco De Donno
c0eb87cac3 Move the scale function from Image to ImageOps 2016-07-05 01:32:06 +02:00
Marco De Donno
ea00713099 Add a scale function to expand or contract a PIL image by a factor factorpassed in argument. 2016-07-03 21:38:36 +02:00
homm
c1da18e0ad do not allow to save images discarding alpha channel 2016-07-03 05:40:34 +03:00
homm
cedaaad1cf keep pointer to im object to prevent dereferencing 2016-07-03 05:03:25 +03:00
homm
66715246c1 remove mitchell filter. Has no advantages over bicubic 2016-07-02 01:54:39 +03:00
homm
0e9beed76d add constants for filters: BOX, HAMMING, MITCHELL
rearrange filters everywhere
2016-07-02 01:54:39 +03:00
wiredfool
2023c7cea1 Version 3.4.0.pre version bump 2016-07-01 07:20:31 -07:00
wiredfool
4f4c982229 3.3.0 Release Version Bump 2016-07-01 05:57:19 -07:00
wiredfool
46a2440826 Fixed enums for Resolution Unit and Predictor 2016-06-30 08:31:36 -07:00
wiredfool
872fd0652e Merge pull request #1846 from wiredfool/pr_1826
EPS + CMYK
2016-06-30 15:23:24 +01:00
Alexander Karpinsky
639bdd3c02 Merge pull request #1991 from kkopachev/png-crc-error-ignore
Ability to skip crc checks for ancillary chunks
2016-06-30 17:25:04 +04:00
wiredfool
a5dde79068 Merge pull request #1934 from wiredfool/incremental_removal
Rewrite of Jpeg2k data handling
2016-06-30 12:28:10 +01:00
wiredfool
31521dc64f Merge pull request #1832 from radarhere/imagepalette
Removed duplicate code in ImagePalette
2016-06-29 22:50:39 +01:00
Konstantin Kopachev
885297d21f
Fix python 3 bytes to string concat error 2016-06-29 14:44:29 -07:00
wiredfool
ffcc067038 Merge pull request #1988 from wiredfool/iccprofile
Binary Tiff Metadata/ICC profile.
2016-06-29 22:35:03 +01:00
wiredfool
0ddb0f3c7f Merge pull request #1970 from uploadcare/ignore-decompression-dos
Ignore large text blocks in PNG if LOAD_TRUNCATED_IMAGES is enabled
2016-06-29 22:32:35 +01:00
Konstantin Kopachev
c3b970f046
Ability to skip crc checks for ancillary chunks 2016-06-29 12:24:37 -07:00
wiredfool
533f4145bb return values 2016-06-27 00:58:06 -07:00
wiredfool
653b170385 incorrect use of whitespace 2016-06-27 00:58:05 -07:00
wiredfool
d3b0413780 Initial take for removing the Incremental decoder due to threading issues. J2k tests pass, other tests fail 2016-06-27 00:58:05 -07:00
wiredfool
c50503a14d API change/revert: Bytes should be returned as a single byte string, not a tuple of integers 2016-06-26 12:06:56 +01:00
wiredfool
948772028b Revert ICCProfile to length=1 2016-06-26 12:00:44 +01:00
wiredfool
870e94b229 Replaced numeric types with symbols 2016-06-26 09:12:15 +01:00
wiredfool
97dbb5cd33 Merge pull request #1977 from kkopachev/jpeg-junk-header
Skip extra 0xff00 in jpeg
2016-06-25 15:30:19 +01:00
wiredfool
c1d25d9062 Merge pull request #1985 from wiredfool/palette
Use bytearray for mutable palette storage
2016-06-25 15:14:07 +01:00
wiredfool
95874635e1 Merge pull request #1984 from wiredfool/pr_1824
Pr 1824 rebase
2016-06-25 15:01:34 +01:00
Bryant Mairs
7d5856bdf7 Corrects fromarray() datatype mapping for integer datatypes.
Currently failing for int16LE as of this commit.
2016-06-25 12:20:37 +01:00
wiredfool
8d8990a9d4 Merge pull request #1942 from python-pillow/pyqt4-pyqt5
Fix for program importing PyQt4 when PyQt5 also installed
2016-06-25 12:16:16 +01:00
wiredfool
6a3acde001 Merge pull request #1909 from uploadcare/png-icc-profile
Get ICC profile from `encoderinfo` while PNG saving
2016-06-25 11:01:53 +01:00
Konstantin Kopachev
c8f93c979c
Skip extra 0xff00 in jpeg 2016-06-22 13:36:23 -07:00
Hugo
1ab30d0ba5 Catch RuntimeError when importing Qt4
In case PySide is already imported
2016-06-22 11:25:59 +03:00
homm
95402143fe ignore large text blocks in PNG if LOAD_TRUNCATED_IMAGES is enabled 2016-06-20 17:33:10 +03:00
matt
53c9a80d1b Changed equals method on Image so it short circuits. Also put getpalette() and tobytes() comparison at the end because they are the slowest operations. 2016-06-19 17:44:24 -04:00
wiredfool
9fb00976fc Merge pull request #1962 from radarhere/colormap
Added new colour from CSS 4 draft
2016-06-19 09:56:55 +01:00
Andrew Murray
879aeb9b3a Changed SpiderImagePlugin register and save calls to use format property 2016-06-19 15:13:02 +10:00
Andrew Murray
86828ffd2a Replaced del with pop 2016-06-18 11:25:39 +10:00
Andrew Murray
7882a79cf5 Added new colour from CSS 4 draft 2016-06-17 21:07:25 +10:00
wiredfool
eb28cc9d0f Merge pull request #1932 from matthew-brett/run-time-tcl-tk
RF: run-time loading of Tcl / Tk functions
2016-06-11 15:27:29 +01:00
wiredfool
c6489e6fb7 bytearray as preferred palette storage 2016-06-09 22:32:16 +01:00
Andrew Murray
4f6f5f9182 Changed int conversion in ImagePalette to ord for Python 2 2016-06-09 22:28:29 +01:00
homm
78242e4acd remove stale comment 2016-06-08 16:47:26 +03:00
homm
3d622d60cf make perspecive transform arguments order more common 2016-06-08 16:17:41 +03:00
homm
2b77b1cec7 make affine transform arguments order more common 2016-06-08 16:17:41 +03:00
homm
6be3df2a43 remove internal ImagingTransform from headers
rename to ImagingGenericTransform
2016-06-08 16:17:41 +03:00
homm
1f8c2527ba internal rotating functions not used anymore 2016-06-08 16:17:41 +03:00
homm
709078efd1 use one self.transform for rotation 2016-06-08 16:17:41 +03:00
homm
7687ce829e round results of sin and cos functions because there is no possible
float-point value of radians which cos will exactly 0.
2016-06-08 16:17:41 +03:00
homm
8203a43d26 Fast paths for rotation 2016-06-08 16:17:41 +03:00
homm
f680b5417b one code style for all methods 2016-06-08 16:17:41 +03:00
Hugo
1d47ff5f4d Fix for program importing PyQt4 when PyQt5 also installed
Fixes https://github.com/python-pillow/Pillow/issues/1939 using suggested solution.
2016-06-07 16:17:20 +03:00
homm
c8262660f0 add RGBa to ImageMode.getmode() as a temporary 2016-06-03 13:01:24 +03:00
Matthew Brett
4bc75e4088 RF: try finding tkinter in Python rather than C
Use imported module to find tkinter.  Should find tkinter module for all
available versions of PyPy that have tkinter compiled, as well as
CPython.
2016-05-30 12:51:28 -07:00
homm
f09067e45e add La mode (2 bands) to the test 2016-05-28 10:47:14 +03:00
wiredfool
3657bc10a6 Merge pull request #1889 from rr-/libpngquant
Add libimagequant support in quantize()
2016-05-26 21:12:25 +01:00
homm
c4b92d09b7 support for La mode 2016-05-26 15:15:08 +03:00
wiredfool
5839c3b9d1 Merge pull request #1921 from thebostik/decode_jpeg_qtable
More fixes related to custom jpeg qtables
2016-05-24 09:51:46 +01:00
wiredfool
1c5bcec41b Merge pull request #1926 from hugovk/docstring
Comments to docstrings (+flake8)
2016-05-24 09:30:04 +01:00
hugovk
934485269c Comments to docstrings (+flake8) 2016-05-24 10:36:14 +03:00
wiredfool
1eedd2ef15 Merge pull request #1896 from radarhere/comment
Added support for GIF comment extension
2016-05-23 22:32:52 +01:00
wiredfool
f7b714bbae Merge pull request #1897 from radarhere/info
Removed support for list form of Image info
2016-05-23 22:30:53 +01:00
Stephen Arthur
8b572ade81 Found edge cases with custom qtables
And there was a lingering bug since the previous qtable unsigned char fix
(#1814) since the call to array.array was in another place, the roundtrip was no
longer equivalent.

That was a minor change, but the revised test wouldn't pass because saving an image
with one custom qtable automatically adds a second to it by the call to
jpeg_set_defaults.
With 1 or >2 custom tables, there is extra work we have to do due to that call.
2016-05-22 17:54:31 -07:00
Andrew Murray
3fe5df238a Fixed typos 2016-05-21 10:36:09 +10:00
homm
989e162ff6 save icc profile from encoderinfo 2016-05-12 20:28:42 +03:00
Andrew Murray
b1a528bf10 Changed variable names to avoid redefining builtins 2016-05-10 22:31:36 +10:00
Andrew Murray
e51061dd59 Used isinstance instead of comparing types 2016-05-10 22:21:55 +10:00
Andrew Murray
da83f9f1d0 Removed support for list form of Image info 2016-05-07 18:33:02 +10:00
Andrew Murray
8298fcce73 Added support for GIF comment extension 2016-05-07 13:57:40 +10:00
Andrew Murray
be028a0c3f Replaced Exception with NotImplementedError 2016-05-06 20:11:03 +10:00
rr-
eb354be7c4 Add method=Image.LIBIMAGEQUANT for quantize() 2016-05-05 21:39:16 +02:00
wiredfool
8b9b996327 Merge pull request #1862 from daniel-leicht/fix-generic-use-of-exception
Deprecated function will no longer raise "Exception" but "NotImplementedError".
2016-05-05 16:32:05 +01:00
Andrew Murray
41b4f1fd81 Corrected Image show documentation 2016-05-05 19:30:07 +10:00
wiredfool
5afa5532f8 Merge pull request #1880 from radarhere/access
Added check for executable permissions to ImageShow
2016-05-03 21:25:23 +01:00
wiredfool
7e46a7dda6 Merge pull request #1837 from radarhere/imagegrab
Added OS X support for ImageGrab grabclipboard
2016-05-03 21:11:53 +01:00
wiredfool
42f7a08ca4 Merge pull request #1856 from radarhere/eafp
Combined duplicate code in ImageTk
2016-05-03 21:02:08 +01:00
wiredfool
a0602fb68c Merge pull request #1882 from wiredfool/pr_1840
Fix Transparency for PNG images
2016-05-03 19:51:04 +01:00
Andrew Murray
9f2deda929 Added check for executable permissions to ImageShow 2016-05-03 20:59:52 +10:00
Andrew Murray
d82935a2d9 Combined duplicate code in ImageTk 2016-05-01 20:55:12 +10:00
wiredfool
460480dfff Merge pull request #1847 from wiredfool/revert-1813-DIB_1293
Revert 1813, plus second commit with tweaks.
2016-05-01 10:31:59 +01:00
wiredfool
9f9436ca2f Merge pull request #1871 from wiredfool/pr_1865
Rebased #1865 + 1 test
2016-05-01 10:14:08 +01:00
wiredfool
b3d78d7c36 Merge pull request #1864 from hdante/read-only-load
Make ImageFile load images in read-only mode
2016-04-29 21:26:13 +01:00
Pierrick Koch
272588feca [PIL] Image add support _MODE_CONV LA mode 2016-04-29 21:03:24 +01:00
wiredfool
c2a5dcf18a Merge pull request #1853 from radarhere/accept
Added _accept hook for XVThumbImagePlugin
2016-04-29 20:45:41 +01:00
Pierrick Koch
001bee40ab [PIL] Image add support fromarray LA mode
fix:

>>> img = np.zeros((40,40,2), 'uint8')
>>> Image.fromarray(img)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1929, in fromarray
    raise TypeError("Cannot handle this data type")
TypeError: Cannot handle this data type
2016-04-27 15:23:44 +02:00
Henrique Dante de Almeida
a7c58303ca Make ImageFile load images in read-only mode
The code path for mmapped files unnecessarily loaded images in
read-write mode and had a long standing FIXME message. This patch
uses mmap.ACCESS_READ, which is platform independent to fix this
issue.
2016-04-27 09:39:51 -03:00
Andrew Murray
dd4cb7fbd0 Improved SpiderImagePlugin help text 2016-04-27 22:28:46 +10:00
daniel
1f4e2a180b Changed the use of the generic "Exception" to "NotImplementedError" in the deprecated functions. 2016-04-27 11:12:57 +03:00
Andrew Murray
53de1ba049 Added _accept hook for XVThumbImagePlugin 2016-04-21 21:40:54 +10:00
Andrew Murray
af92d24837 Switched to more descriptive variable names 2016-04-20 06:20:41 +10:00
Andrew Murray
935ac523bf Added OS X support for ImageGrab grabclipboard 2016-04-20 06:20:41 +10:00
wiredfool
0507192a77 Comments for future people investigating alpha and DIBs 2016-04-19 20:36:25 +01:00
wiredfool
23a847c532 Fixes DIB image format
The DIB image format uses the 40 byte BMP header, followed by 3 masks
for RGB channels. We were reading 4 masks, consuming the first pixel
of the image.

Mostly fixes issue #1293. Remaining issue: alpha channel is actually a
transparency mask.
2016-04-19 20:17:36 +01:00
wiredfool
ae6c46ea92 Merge pull request #1814 from thebostik/jpeg-qtable-bounds
Valid range for baseline jpeg qtables 0 to 255
2016-04-19 16:48:03 +01:00
wiredfool
faeb269e30 Revert "Fix for DIB/BMP images" 2016-04-19 16:37:29 +01:00
wiredfool
562bd8519b Merge pull request #1844 from wiredfool/docs_linkcheck
Fix Docs failures.
2016-04-19 16:33:59 +01:00
wiredfool
b521e28ab2 Merge pull request #1821 from radarhere/tifftags
Added TIFF Tags
2016-04-19 16:32:28 +01:00
wiredfool
43dda0c8da Merge pull request #1841 from radarhere/exif
Added EXIF tags
2016-04-19 16:05:09 +01:00
wiredfool
bbd4337fbb Updated OleFileIO doc links 2016-04-19 07:41:14 -07:00
Andrew Murray
53197808f5 Added _accept hook for PixarImagePlugin 2016-04-19 20:59:32 +10:00
Andrew Murray
34c02e321d Moved EXIF tag to be in hex order 2016-04-19 19:50:28 +10:00
Andrew Murray
521c7e9bdf Added EXIF tags 2016-04-19 19:49:58 +10:00
Oliver Tonnhofer
c773688f37 improve simple palette detection for PNG
- reverts change #1239 which could remove transparency from valid images
  (see test_save_p_transparent_black test case)
- improves simple palette detection to handle images from #1238
2016-04-19 10:21:53 +02:00
Andrew Murray
f9b3a5dbe4 Removed duplicate code in ImagePalette 2016-04-14 19:54:25 +10:00
Andrew Murray
392d567352 Added CMYK mode for opening EPS files 2016-04-13 18:27:46 +10:00
Andrew Murray
435858afaa Fixed typo 2016-04-13 17:33:33 +10:00
Andrew Murray
18d596e320 Added TIFF Tags 2016-04-10 21:31:04 +10:00
Stephen Arthur
b38c32ed70 Valid range for baseline jpeg qtables 0 to 255, fixed issue from using signed char instead of unsigned char. added test 2016-04-06 18:47:51 -07:00
Hugo
a7c678b1af Merge pull request #1813 from wiredfool/DIB_1293
Fix for DIB/BMP images
2016-04-06 19:58:25 +03:00
wiredfool
0e3caec317 Added Transparency mask unpacker for BMP files 2016-04-06 07:40:49 -07:00
wiredfool
e84e02997c Fixes DIB image format
The DIB image format uses the 40 byte BMP header, followed by 3 masks
for RGB channels. We were reading 4 masks, consuming the first pixel
of the image.

Mostly fixes issue #1293. Remaining issue: alpha channel is actually a
transparency mask.
2016-04-06 07:38:41 -07:00
Andrew Murray
1888d60504 Added PixarImagePlugin file extension 2016-04-05 23:01:39 +10:00
Andrew Murray
3478464ce8 Fixed typo 2016-04-05 20:42:24 +10:00
Hugo
cee9a1da15 Merge pull request #1805 from wiredfool/verify-struct-error
Catch struct.errors when verifying png files
2016-04-04 16:38:29 +03:00
wiredfool
90378c8298 Fixing compatibility with the truncated images tests 2016-04-04 05:40:37 -07:00
wiredfool
77da73c90f Catch struct.errors when verifying png files, convert to SyntaxErrors, fixes #1755 2016-04-04 03:08:22 -07:00
wiredfool
ca5e22b59a Merge pull request #1794 from radarhere/spiderimageplugin
SpiderImagePlugin: raise an error when seeking in a non-stack file
2016-04-04 02:07:41 -07:00
wiredfool
14f3b45f46 Merge pull request #1789 from zwhfly/tiff
Add Support for 2/4 bpp Tiff Grayscale Images
2016-04-03 12:07:48 -07:00
Andrew Murray
26bf1937c7 Added warning for deprecated as_dict method 2016-04-03 23:41:28 +10:00
Hugo
77b5a531c6 Merge pull request #1625 from radarhere/health
Health fixes
2016-04-03 10:58:35 +03:00
Jonathan Michalon
d07ab52c66 SpiderImagePlugin: raise an error when seeking in a non-stack file
Using ImageSequence.Iterator on a non-stack SPIDER image leads to infinite loop.
EOFError (which stops the iteration) is never raised because when the image isn't a stack,
seek() returns gently without error.
2016-04-02 19:12:21 +11:00
wiredfool
fd7fa4e61d 3.3.0.dev0 versioning 2016-04-01 07:39:35 -07:00
wiredfool
344cb709ed 3.2.0 Release Version Bump 2016-04-01 05:17:23 -07:00
Andrew Murray
677b958a7f Health fixes 2016-04-01 21:49:30 +11:00
wiredfool
26970c5e21 Merge pull request #1782 from radarhere/compression
Different frames may have different compression types
2016-04-01 03:38:18 -07:00
wiredfool
39fb128898 Merge pull request #1772 from radarhere/copy
Added __copy__ method to Image
2016-04-01 03:35:21 -07:00
wiredfool
8ae375ebec Merge pull request #1787 from radarhere/license
Updated PIL license in OleFileIO README
2016-04-01 03:33:22 -07:00
wiredfool
e8da73e95b Merge pull request #1786 from radarhere/tifftags
Corrected Tiff tag names
2016-04-01 03:31:57 -07:00
zwhfly
aa0636d811 Add Tiff Encodings for 2/4 Bit Grayscale Images
Added decoding support for 2/4 bit grayscale tiff images, including inverted and/or bit-order-reversed formats.
2016-03-29 20:19:22 +08:00
zwhfly
46134f78d2 Rearrange Tiff Encodings List
Refined the order of items in the dict 'OPEN_INFO'.
2016-03-29 20:19:21 +08:00
Andrew Murray
074dd36c33 Updated PIL license in OleFILEIO README [ci skip] 2016-03-29 20:01:39 +11:00
Andrew Murray
91cabaafeb Corrected Tiff tag names 2016-03-29 18:50:51 +11:00
Andrew Murray
886a7cf206 Different TIFF frames may have different compression 2016-03-27 22:18:39 +11:00
wiredfool
43b4b8d664 Fix for UnboundLocalError with corrupt jpeg2k file 2016-03-26 13:41:00 -07:00
Andrew Murray
bb0d312de7 Added __copy__ method to Image 2016-03-16 20:23:51 +11:00
Andrew Murray
d3727b523e Update website URL [ci skip] 2016-03-15 22:53:16 +11:00
wiredfool
b1f81220ef Merge pull request #1749 from radarhere/url
Changed no longer found URL to archive URL
2016-03-14 09:50:58 -07:00
wiredfool
fb853267f9 Merge pull request #1748 from radarhere/path
Fixed bug when saving to a non-existent path using pathlib
2016-03-14 09:48:53 -07:00
wiredfool
c3bf1e1c78 Merge pull request #1745 from hugovk/crop_integers
Round crop's arguments to nearest integers
2016-03-14 09:44:29 -07:00
wiredfool
b1f6cecd70 Merge pull request #1663 from wiredfool/uninitialized-variable
Fixes uninitialized variable warning in _imaging.c:getink
2016-03-14 09:41:12 -07:00
wiredfool
10f2faf3ed Provide a more general error check to catch #1753 2016-03-08 01:04:11 -08:00
Andrew Murray
da6b9acc9c Minor grammar fix [ci skip] 2016-03-04 19:19:31 +11:00
Andrew Murray
717d2fe195 Changed no longer found URL to archive URL 2016-02-28 22:36:35 +11:00
Andrew Murray
b959a25f09 Fixed bug when saving to a non-existent path using pathlib 2016-02-27 13:10:50 +11:00
hugovk
239f09435a Round crop args to nearest integers (#1744) 2016-02-24 15:11:08 +02:00
wiredfool
27d8edbed5 Merge pull request #1728 from radarhere/buffer
Updated documentation s/fromstring/frombytes
2016-02-23 14:29:57 -08:00
Andrew Murray
895ab20438 Updated redirect URL 2016-02-22 18:38:04 +11:00
Andrew Murray
2f73b7cbfc Fixed ExifTags typo 2016-02-20 10:19:13 +11:00
Zacharias Thompson
535680808f Update ExifTags.py
Spelling fixes.
2016-02-20 09:42:48 +11:00
Andrew Murray
46bd536c0c Corrected documentation reference [ci skip] 2016-02-19 20:11:00 +11:00
Andrew Murray
7bfb2745cb Updated documentation [ci skip] 2016-02-14 21:02:38 +11:00
Andrew Murray
a7c7aa171d Updated redirected URLs 2016-02-11 18:51:36 +11:00
Andrew Murray
0ed1e3d63c Rearranged FtexImagePlugin in plugin list 2016-02-05 22:10:48 +11:00
Jerome Leclanche
58c59bbad0 Add a loader for the FTEX format from Independence War 2: Edge of Chaos 2016-02-01 05:23:37 -08:00
Andrew Murray
3a55a20712 Improved alpha_composite documentation 2016-02-01 21:02:43 +11:00
wiredfool
c09ba49f0f Merge pull request #1647 from radarhere/multiline
Allowed text method to pass on multiline_text method specific arguments
2016-02-01 01:18:51 -08:00
wiredfool
7d1df35089 Merge pull request #1686 from radarhere/seek
Allow ImageSequence to seek to zero
2016-01-31 09:08:09 -08:00
wiredfool
3f1834a67b Merge pull request #1649 from radarhere/iterator
Modified ImageSequence Iterator class to be an iterator
2016-01-31 09:06:43 -08:00
wiredfool
99e88c7796 Merge pull request #1653 from wiredfool/gbr
Fixed long broken GBRImagePlugin
2016-01-31 09:03:03 -08:00
Andrew Murray
a5b2c4da29 Corrected comment 2016-01-31 11:57:02 +11:00
Andrew Murray
2b0c037d5f Allowed ImageSequence to seek to zero 2016-01-27 14:04:05 +11:00
wiredfool
b0d15c9b8d Catch truncated DDS files 2016-01-15 21:34:36 +00:00
wiredfool
a098c88509 Convert was passing in a 3tuple to putpixel for a P image 2016-01-14 08:58:13 -08:00
wiredfool
18d48dc665 fixing dds plugin on Py 2.x, relaxing dxt5 test 2016-01-08 13:58:19 -08:00
wiredfool
25428afb70 Working GbrImagePlugin for version 2 GBR (gimp brush) files 2016-01-08 07:18:48 -08:00
hugovk
37b5a39c58 Note internal functions and TODOs 2016-01-06 20:00:03 +02:00
Andrew Murray
f4df96816b Modified ImageSequence Iterator class to be an iterator 2016-01-06 21:09:40 +11:00
hugovk
9dd68bb0be flake8 2016-01-06 12:07:40 +02:00
Andrew Murray
a653afb10d Allowed textsize method to pass on multiline_textsize method specific arguments 2016-01-06 17:13:16 +11:00
Andrew Murray
89e3758fb8 Allowed text method to pass on multiline_text method specific arguments 2016-01-06 10:42:03 +11:00
Jerome Leclanche
b9a71cafbc Add a basic DDS image plugin
Only supports DXT1 and DXT5 for now.
The pixel formats ideally should be supported in decode.c instead,
but for now this is good enough.

Fixes #252
2016-01-05 17:11:17 +02:00
wiredfool
8d518a3f4d 3.2.0-dev versioning 2016-01-04 03:03:26 -08:00
wiredfool
fff5536b37 3.1.0 version 2016-01-04 02:04:23 -08:00
wiredfool
0f9f5cd8db 3.1.0-rc1 versioning 2016-01-01 16:00:32 +00:00
wiredfool
e5076a3278 Merge pull request #1620 from wiredfool/issue_1597
Partial fix for #1597
2016-01-01 07:47:58 -08:00
wiredfool
36d4f5a9b4 Tests for permitted libtiff metadata 2016-01-01 05:30:40 -08:00
wiredfool
a6c1331fdd Rolling back exif support to pre-3.0 format 2016-01-01 04:14:24 -08:00
Hugo
c0b3fe77d7 Merge pull request #1621 from radarhere/health
Flake8 fixes
2015-12-31 15:18:31 +02:00
Hugo
53b45c578a Merge pull request #1624 from radarhere/spacing
Updated spacing to be consistent between multiline methods
2015-12-31 15:18:01 +02:00
Hugo
55a037c50b Merge pull request #1531 from wiredfool/exif_div_zero
Divide by zero in Exif
2015-12-31 15:15:20 +02:00
Andrew Murray
10099b41e1 Updated spacing to be consistent between multiline methods 2015-12-31 10:45:21 +11:00
wiredfool
eba87ac6d9 Catch the IFD error near the source 2015-12-30 13:34:33 -08:00
Andrew Murray
a83bcec169 Flake8 fixes 2015-12-31 07:27:27 +11:00
wiredfool
9fa6634f4d Partial fix for #1597
Haven't excercized all of the metadata that we're allowing yet,
and there's clearly still something up with Arrays, as one
of them is still crashing and making it impossible to save a
palette with a libtiff image.
2015-12-30 07:54:14 -08:00
wiredfool
33b90e9b6f rolling back gps exif support to match pre 3.0.0 results 2015-12-29 22:58:54 +00:00
hugovk
69bead98ea Update GPSInfoIFD (34853) tag 2015-12-29 22:58:54 +00:00
wiredfool
80ab12bdc0 Lookup tag info in both _v2(info) and original(name only) dicts, delegate to lookup 2015-12-29 22:02:11 +00:00
wiredfool
3ac9396e8c Write round trip for rationals, including nan value 2015-12-29 22:00:36 +00:00
wiredfool
bd05d66c7e Python 3.4 support for the IFDRational 2015-12-29 21:33:10 +00:00
Andrew Murray
0e1eb970e5 Updated URLs 2015-12-29 00:04:39 +11:00
wiredfool
79608bd762 Make numerator/denominator read only 2015-12-27 10:21:32 +00:00
wiredfool
722ee8240b Inherit from Rational instead of Fraction, some basic tests. Fixes Py2.6 2015-12-27 10:21:32 +00:00
wiredfool
f9fe4da8b2 Make IFDRational hashable 2015-12-27 10:21:32 +00:00
wiredfool
3bbb9e676f value based equivalence 2015-12-27 10:21:32 +00:00
wiredfool
deecbcd3a3 Added a rational class for TiffIFD that allows for 0/0 2015-12-27 10:21:31 +00:00
Andrew Murray
5266a4506a Changed register calls to use format property 2015-12-25 14:15:01 +11:00
Hugo
94145e914f Merge pull request #1596 from radarhere/tifftags
Added field type constants to TiffTags
2015-12-15 15:45:50 +02:00
Hugo
6005800396 Merge pull request #1594 from wiredfool/g4_attributes
Allow saving RowsPerStrip with libtiff.
2015-12-15 15:45:36 +02:00
Andrew Murray
ae83c18c91 Added field type constants to TiffTags 2015-12-15 23:36:16 +11:00
wiredfool
436daee5e0 Merge pull request #1591 from radarhere/health
Health fixes
2015-12-14 21:00:09 +00:00
wiredfool
65ff8f9f5a Merge pull request #1578 from cartisan/numpy-conversion-for-hsv
Enabled conversion to numpy array for HSV images. #1559
2015-12-14 20:55:47 +00:00
wiredfool
286c5e84db Merge pull request #1580 from hugovk/linkcheck
'make linkcheck' fixes
2015-12-14 20:49:12 +00:00
wiredfool
fe35a18db0 Possible fix for issue #1561, let rows per strip through, but block the other two 2015-12-14 20:25:00 +00:00
Andrew Murray
096b532a90 Removed unused variable 2015-12-10 21:34:22 +11:00
Andrew Murray
c27110ab56 Flake8 fixes 2015-12-10 21:34:02 +11:00
Andrew Murray
0b64d6d8bf Removed unnecessary pass statement 2015-12-10 21:34:02 +11:00
Andrew Murray
71d45bc61e Corrected line length greater than 80 2015-12-10 21:34:02 +11:00
Andrew Murray
9176633d60 Specified exception type 2015-12-10 09:22:36 +11:00
Andrew Murray
384d32969d Replaced flush try except with hasattr 2015-12-10 09:22:30 +11:00
Andrew Murray
9014517602 Removed logger exception 2015-12-10 08:39:26 +11:00
Hugo
26b66b8038 Merge pull request #1581 from radarhere/wal
Removed __main__ code from WalImageFile
2015-12-09 11:18:35 +02:00
Hugo
58ff22b0d4 Merge pull request #1586 from radarhere/olefileio42
Updated OleFileIO README to 0.42
2015-12-09 11:12:44 +02:00
Andrew Murray
5f904ace9d Removed warnings check 2015-12-09 16:55:33 +11:00
Andrew Murray
b6880a65d1 Updated OleFileIO README to 0.42 [ci skip] 2015-12-09 08:40:13 +11:00
Andrew Murray
7f00312517 Removed __main__ code from WalImageFile 2015-12-08 07:53:29 +11:00
hugovk
23309e13da Declare encoding 2015-12-07 22:16:23 +02:00
hugovk
b72b0295c7 'make linkcheck' fixes 2015-12-07 22:03:36 +02:00
cartisan
8b76f557ce Enabled conversion to numpy array for HSV images. #1559 2015-12-07 17:40:42 +00:00
wiredfool
fb17bf3d20 Merge pull request #1478 from baumatron/pillow_fix_eps_gs_command
Fix command to invoke ghostscript for eps files.
2015-12-07 14:15:51 +00:00
wiredfool
2f75ee7e9f Merge pull request #1574 from hugovk/wiredfool-multiline_text-plus4
Consistent multiline spacing and tests, with extra space
2015-12-07 13:41:15 +00:00
wiredfool
fbb31a00d0 Merge pull request #1530 from radarhere/unused
Commented or removed unused lines
2015-12-07 13:32:02 +00:00
wiredfool
1f1755a9ec Merge pull request #1560 from radarhere/qt
Changed ImageQt import of Image
2015-12-07 13:29:40 +00:00
wiredfool
51cd06685e Merge pull request #1556 from radarhere/unpack
Throw TypeError if no cursors were found in .cur file
2015-12-07 12:59:34 +00:00
wiredfool
bceb18baa2 Merge pull request #1555 from Nexuapex/master
ExtraSamples tag should be a SHORT, not a BYTE
2015-12-07 12:53:51 +00:00
hugovk
731d0b1b73 Default spacing of 4, update tests 2015-12-06 18:31:33 +02:00
hugovk
d52e58dbbd Merge remote-tracking branch 'upstream/master' into wiredfool-multiline_text 2015-12-06 18:05:25 +02:00
Andrew Murray
a9efd7ad98 Stopped modules from importing themselves 2015-12-02 16:37:50 +11:00
Andrew Murray
82c7ea8489 Changed string format argument to logger parameter 2015-12-02 16:32:44 +11:00
Andrew Murray
560774e3e0 Removed unreachable code 2015-12-02 16:29:01 +11:00
Andrew Murray
e9a6a96053 Specified exception type 2015-12-02 16:23:49 +11:00
Andrew Murray
2d0b6987a0 Changed ImageQt import of Image 2015-11-30 22:06:18 +11:00
Andrew Murray
0c3e224537 Throw TypeError if no cursors were found in .cur file 2015-11-26 19:56:41 +11:00
John Calsbeek
423e381b7c ExtraSamples tag should be a SHORT, not a BYTE
Affects saving RGBA TIFFs.
2015-11-25 20:34:44 -08:00
wiredfool
a842497753 consistent line spacing 2015-11-18 07:02:16 -08:00
wiredfool
35296ca155 Merge pull request #1519 from mattip/master
test, fix missing 'version' key value in __array_interface__
2015-11-18 09:39:34 +00:00
Andrew Murray
4d7b630b33 Catch OverflowError in SpiderImagePlugin 2015-11-18 01:18:01 +11:00
Hugo van Kemenade
a0393ee3a0 Merge pull request #1539 from wiredfool/issue_1526
Fix the definition of icc_profile in TiffTags
2015-11-16 10:23:41 +02:00
wiredfool
a14467f10b Iccprofile doesn't have a defined length 2015-11-15 15:49:30 +00:00
Andrew Murray
cfaf95a5a4 Commented or removed unused lines 2015-11-09 23:34:34 +11:00
mattip
0ff05afa56 test, fix missing 'version' key value in __array_interface__ 2015-11-02 20:07:12 +02:00
Andrew Murray
5703789036 Updated ImageGrab description 2015-10-26 19:36:04 +11:00
wiredfool
bba30f736b Removed more closed source PIL plus 2015-10-24 14:23:24 +01:00
wiredfool
b7501aa3c0 Merge pull request #1490 from wiredfool/pr1470
Reqorded Pr #1470
2015-10-12 07:28:40 -07:00
wiredfool
d8a6a8cc18 Reworded warning 2015-10-12 07:26:58 -07:00
Andrew Murray
6bd7e7f02d Removed trailing whitespace 2015-10-11 21:24:35 +11:00
Brian Baumhover
d37a8c7222 Fix command to invoke ghostscript. 2015-10-08 00:16:33 -05:00
Hugo van Kemenade
25d03d6fce Merge pull request #1465 from wiredfool/bug-iccprofile
Add tag info for iccprofile, fixes #1462
2015-10-05 15:23:16 +03:00
masklinn
fc52f73366 Add warning to tobytes
It probably isn't what most developers want.
2015-10-05 12:27:25 +02:00
Alex Clark
1f72110040 PEP440 [ci skip] 2015-10-05 05:39:08 -04:00
wiredfool
23631302a9 Merge pull request #1467 from wiredfool/sampleformat
Flatten sampleformat to initial value, fixes #1466
2015-10-05 01:43:03 -07:00
wiredfool
543238849c Merge pull request #1464 from wiredfool/pathlib_temporaryfile
Fix handling of pathlib in save. Fixes #1460
2015-10-05 01:41:58 -07:00
wiredfool
7206be535e Flatten sampleformat to initial value, fixes #1466 2015-10-03 22:57:44 +01:00
wiredfool
157df44e51 Add tag info for iccprofile, fixes #1462 2015-10-03 16:35:53 +01:00
wiredfool
42633d7a31 spaces. 2015-10-03 08:29:52 +01:00
wiredfool
d965257616 Fix handling of pathlib in save. Fixes #1460 2015-10-03 08:12:44 +01:00
wiredfool
58fedea740 3.1 Dev versioning 2015-10-01 21:39:00 +01:00
wiredfool
0177cceac4 3.0 Release versioning 2015-10-01 21:39:00 +01:00
wiredfool
4a8a983e6a Merge pull request #1398 from mrTable/master
Check flush method existence for file-like object
2015-10-01 07:54:26 -07:00
wiredfool
92f5133469 Merge pull request #1445 from radarhere/pdf
Added PDF multipage saving
2015-10-01 05:33:11 -07:00
Christoph Gohlke
6736344703 Py3 fixes for ImageQt.align8to32 2015-09-29 22:28:42 -07:00
wiredfool
ca929bdfc0 Merge pull request #1435 from radarhere/tiff
Minor Tiff formatting changes
2015-09-29 15:43:40 +01:00
wiredfool
89ccf66ff7 Merge pull request #1343 from radarhere/deprecated
Removed deprecated code
2015-09-29 15:38:34 +01:00
Andrew Murray
4e31fb745f Added PDF multipage saving 2015-09-29 22:51:52 +10:00
Andrew Murray
1306f7d6af Updated URLs for redirects 2015-09-28 21:53:25 +10:00
wiredfool
388b2dab0c Merge pull request #1428 from uploadcare/load-broken-images
Load more broken images
2015-09-24 21:53:36 +01:00
Andrew Murray
d097d44fa1 Updated documentation and removed deprecated comment 2015-09-23 22:14:06 +10:00
Andrew Murray
a5bac62bc3 Flake8 fixes 2015-09-23 20:46:01 +10:00
wiredfool
eaabb21b4a Merge pull request #1429 from ericfrederich/conversion
use png when converting from a QImage to a Pillow Image
2015-09-20 11:04:16 +01:00
wiredfool
cae6a5f86c Merge pull request #1427 from radarhere/fix
Removed trailing whitespace
2015-09-20 10:48:06 +01:00
wiredfool
68dd0ac2cc Merge pull request #1430 from ericfrederich/qt_align
bug fix: Qt wants data aligned to 32 bits
2015-09-20 10:41:38 +01:00
wiredfool
de34547f33 Merge pull request #1419 from wiredfool/tiff-ifd-rewrite
Tiff ImageFileDirectory Rewrite
2015-09-20 10:36:19 +01:00
wiredfool
2350eaad17 Merge pull request #1423 from wiredfool/debug-logging
Removing spammy debug logging
2015-09-20 10:32:47 +01:00
Andrew Murray
71c95c8e5f Restored deprecated methods with errors instead 2015-09-19 21:36:19 +10:00
Andrew Murray
5835c1e09c Added deprecation warning to ImageDraw setfont method, as specified in docs 2015-09-19 21:12:10 +10:00
Andrew Murray
baa5143394 Removed methods deprecated in 2.0 2015-09-19 21:06:12 +10:00
Andrew Murray
47366692d9 Removed ImagePalette methods, deprecated in 2.6 2015-09-19 21:06:12 +10:00
Andrew Murray
a3107af63f Removed ImageFileIO, deprecated since PIL 2015-09-19 21:06:12 +10:00
Andrew Murray
3841a11fb5 Removed ImageFont filename param, deprecated in 2.1 2015-09-19 21:06:12 +10:00
Andrew Murray
3e47ddbeeb Removed comment that Python 2 behaviour is deprecated 2015-09-19 21:06:11 +10:00
Eric L Frederich
e67a4c4270 preserve alpha during conversion; add tests; found bug and added TODOs 2015-09-18 16:15:24 -04:00
Eric L Frederich
86e775daa3 bug fix: Qt wants data aligned to 32 bits
Images in Qt show up incorrectly if each line is not aligned to 32 bits.

It is pretty common for an image's lines to be 32-bit alinged by chance.
Obviously any 32-bit image will not have any problem.
For the bug to manifest itself you'd need...
* a 1-bit image whose width is not a multiple of 32
* an 8-bit image who width is not a multiple of 4

Testing more images now and added a 7x13 png test image
2015-09-18 16:07:35 -04:00
wiredfool
a38fb2d0c5 Merge pull request #1384 from radarhere/gifparams
GIF 89a and animation parameters
2015-09-18 14:41:45 +01:00
homm
613f1e241e do not raise on broken images 2015-09-15 19:11:45 +03:00
Andrew Murray
baac3c2321 Removed trailing whitespace 2015-09-15 21:37:51 +10:00
wiredfool
5b7f6f2638 Fix docs to match code, see http://engineering.khanacademy.org/posts/making-thumbnails-fast.htm 2015-09-15 01:00:36 -07:00
homm
9930b05a33 fix tiff exif loading in case when file is empty or ended 2015-09-15 04:06:51 +03:00
homm
63f5f68837 unused imports 2015-09-15 04:04:27 +03:00
wiredfool
e4f9b697c6 Doc syntax error 2015-09-14 07:33:07 -07:00
wiredfool
1614f2fdb5 Documentation for IFD Changes 2015-09-14 07:01:57 -07:00
wiredfool
4adbc9735c Reorder load_* parameters to pass master tests 2015-09-14 04:35:09 -07:00
wiredfool
43f3e7504c Removing spammy debug logging 2015-09-14 03:42:08 -07:00
wiredfool
e3a8044a38 Removing low level PyAccess debug logging 2015-09-14 03:38:52 -07:00
wiredfool
05348d4f8f Reenabling failing/crashing tests, with fixes 2015-09-14 03:03:24 -07:00
wiredfool
b56d5ca403 Added indicator for multipage tiffs 2015-09-13 16:19:40 +01:00
wiredfool
86bda9a705 Legacy tifftags 2015-09-13 16:19:40 +01:00
wiredfool
70977bcbb5 Got the order of the enums wrong 2015-09-13 15:45:15 +01:00
wiredfool
4596df45c1 Versioned interface for TiffTags 2015-09-13 15:15:13 +01:00
wiredfool
ca24a44100 Rewrap intelligently 2015-09-13 14:16:12 +01:00
wiredfool
bb75b2d6ad Added doc comment 2015-09-13 14:09:42 +01:00
wiredfool
e1236d702d v1/v2 tag storage in IFD, legacy_api as a parameter to _saveitem, save both _tags_v* when saving as legacy api 2015-09-13 14:01:01 +01:00
wiredfool
a9396ab412 convert load_* functions to pure functions with no state 2015-09-13 11:07:43 +01:00
wiredfool
156972874d missed a set of _v2 versioning 2015-09-13 10:53:47 +01:00
wiredfool
b1fdff4034 In a twisty maze of bytes, text and arbitrary metadata, py2 and py3. New IFD is putting textdata in type7 metadata and returning bytes, old one put it in type 2 string and returned a string. This may be an issue 2015-09-11 23:44:23 +01:00
wiredfool
5f9fff0215 Restoring bad exif handling 2015-09-11 22:39:37 +01:00
wiredfool
47a963c2a4 Legacy/versioned interface 2015-09-11 22:39:37 +01:00
wiredfool
9bb4c51629 module level default api level 2015-09-11 22:39:37 +01:00
wiredfool
0c942911d9 fixed the rebase 2015-09-11 22:39:37 +01:00
Antony Lee
1b9b3749ca Reorder OPEN_INFO to cover both endiannesses.
By interleaving little and big-endian entries we make sure entries
exist for both cases.  Some additional entries created when the
big-endian was missing.  I am not sure of what entry to create for the
big-endian, 4-bit case (what is the order of the two entries within the
byte?).
2015-09-11 22:39:37 +01:00
Antony Lee
6309bfe921 Support too long ExtraSamples.
Some programs generate SamplesPerPixel entries in ExtraSamples instead
of SamplesPerPixel-3, cf. #1227.  This is a stopgap measure to support
them.  One could also decide to add generic code to always support
having SamplesPerPixel entries (by dropping the first 3).
2015-09-11 22:39:37 +01:00
Antony Lee
93abbd0caa Restore legacy TIFF API.
To have the old API that always returns tuples, and fractions as pairs,
set the `legacy_api` attribute of the IFD to True.

This should alleviate concerns about backwards compatibility.
2015-09-11 22:39:37 +01:00
Antony Lee
38f7e23495 Include tests of #1113. 2015-09-11 22:35:58 +01:00
Antony Lee
d5b46dce96 Fix MPO support, and Python2.6 support. 2015-09-11 22:34:50 +01:00
Antony Lee
56a3f0f2ab Fix EXIF support. 2015-09-11 22:34:50 +01:00
Antony Lee
974bcc074b Major rewrite of TIFF ImageFileDirectory.
Do not represent scalar tags as 1-element tuples.  Keep tag
type and count information in TiffTags.TAGS.  Normalize data in
ImageFileDirectory.__setitem__: wrap and unwrap tuples as needed,
convert rationals to floats.  (To ensure consistency, make the "tags"
attribute private.)  Interpret byte data as a series of integers rather
than a bytearray (which should only map to the "undefined" type).  On
Python3, if a str is assigned to an "undefined" tag, encode it as ASCII.

Note that a large number of tags have been removed from TiffTags.TAGS
because I do not have time to figure out the type and count of each of
them.  They should be restored before this gets merged in.

This obviously breaks backwards compatibility in a lot of ways...
2015-09-11 22:34:50 +01:00