Commit Graph

1365 Commits

Author SHA1 Message Date
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