Commit Graph

1478 Commits

Author SHA1 Message Date
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
Antony Lee
aba7a34036 Fix setting of TIFF ExtraSamples tag.
- force cast ExtraSamples to a list.
- fix calls to ImagingLibTiffSetField to include array length.
2015-09-11 22:26:54 +01:00
Andrew Murray
105e963505 Flake8 fixes 2015-09-11 19:28:19 +10:00
Hugo van Kemenade
991829b75a Merge pull request #1414 from wiredfool/pr1360
Catch TypeError in _getexif
2015-09-10 19:11:32 +03:00
Hugo van Kemenade
f631ddb1ef Merge pull request #1416 from wiredfool/pr1309
Fix for UnicodeDecodeError in TiffImagePlugin
2015-09-10 19:07:48 +03:00
Hugo van Kemenade
254201cac6 Merge pull request #1415 from wiredfool/dup_code
Dedup code in image.open
2015-09-10 19:06:35 +03:00
Bogdan Kubala
42b5a85cb4 Fix for UnicodeDecodeError in TiffImagePlugin
Fix for UnicodeDecodeError: ascii codec cannot decode byte while saving a TIFF image

Problem occured while saving TIFF images that contain non-ascii characters in metadata

Manually merged with master by wiredfool
2015-09-10 07:57:47 -07:00
wiredfool
60f44f2dce Merge pull request #1337 from homm/extraneous-jpeg-bytes
Skip any number extraneous chars at the end of JPEG chunks
2015-09-10 15:39:55 +01:00
wiredfool
9cbbab2da5 Dedup code in image.open 2015-09-10 07:17:40 -07:00
wiredfool
587698051f comments for future understanding 2015-09-10 04:36:07 -07:00
wiredfool
c614846fb7 Extend the fix to the other exif seek 2015-09-10 04:19:25 -07:00
wiredfool
1b40b6fd32 Merge pull request #1366 from uploadcare/fix-truncated-regression-from-master
Pillow fails to load truncated images with LOAD_TRUNCATED_IMAGES
2015-09-10 11:59:58 +01:00
wiredfool
5473766490 Merge pull request #1381 from bwrsandman/patch-1
ImagePalette: Add param documentation
2015-09-09 16:52:33 +01:00
homm
0b19a86087 skip any number extraneous chars at the end of chunks 2015-09-08 18:05:37 +03:00
homm
1d236f0262 unused var 2015-09-08 17:43:12 +03:00
homm
b078ad4599 raise IOError in all cases when image can't be loaded 2015-09-08 17:43:12 +03:00
homm
b8b3cdc146 fix truncated images loading 2015-09-08 17:43:11 +03:00
Andrew Murray
d21430234e Improved consistency of checks for flush 2015-09-02 23:48:22 +10:00
Andrew Murray
a0d38a3884 Fixed infinite loop on truncated file 2015-08-29 02:05:08 +10:00
Hugo van Kemenade
ce19b0dfca Merge pull request #1400 from radarhere/imagemorph
Check that images are L mode in ImageMorph methods
2015-08-28 17:24:53 +03:00
Andrew Murray
9026b81439 Check that images are L mode in ImageMorph methods 2015-08-28 22:54:17 +10:00
Dmitry Yantsen
a2b6b661d9 Added check for flush method existense for file-like object in tiffplugin setup 2015-08-28 15:00:06 +05:00
Andrew Murray
95fa2cdf08 Health fix 2015-08-28 18:56:48 +10:00
Andrew Murray
c6b13d294f Flake8 fixes 2015-08-25 22:27:18 +10:00
Andrew Murray
1b8d12b048 If only one frame, do not use image from sequence 2015-08-24 23:51:02 +10:00
Andrew Murray
e88e90b8ed Minor improvement, one less copy 2015-08-24 23:23:52 +10:00
Andrew Murray
88fca0f555 Fixed palette issue when saving 2015-08-24 23:23:07 +10:00
Andrew Murray
b8ff91ab3b Corrected version number when saving GIFs 2015-08-21 22:10:13 +10:00
Andrew Murray
f64bc891d4 Changed GifImagePlugin to include use image info params 2015-08-21 22:09:05 +10:00
Sandy
93a8e43ddf ImagePalette: Add param documentation 2015-08-20 15:25:08 -04:00
Hugo van Kemenade
d66f9eb7ea Merge pull request #1373 from radarhere/rotate
Fix fast rotate operations
2015-08-09 11:26:51 +03:00
Andrew Murray
e271471f8e Flake8 fix 2015-08-06 00:24:08 +10:00
Andrew Murray
f6d11a2803 Only use fast rotate operations if the expand flag is in use or the image is square 2015-08-06 00:23:14 +10:00
Andrew Murray
7775ff3ac7 Updated docstrings 2015-08-05 22:32:15 +10:00
Andrew Murray
457d39832d Added support for pathlib Path objects to open and save 2015-08-05 20:54:33 +10:00
Hugo van Kemenade
8faf299ca0 Merge pull request #1333 from radarhere/format
Changed register calls to use format property
2015-08-04 15:37:09 +03:00
Hugo van Kemenade
1368d972e7 Merge pull request #1367 from radarhere/imagegrab
Added support for ImageGrab.grab to OS X
2015-08-01 10:54:31 +03:00
Andrew Murray
7c0554c74e Added support for ImageGrab.grab to OS X 2015-08-01 17:44:13 +10:00
Andrew Murray
f5df0b86fc Fixed PSDraw stdout Python 3 compatibility 2015-07-31 20:59:59 +10:00
Andrew Murray
87d00fe441 Catch TypeError in _getexif file seek 2015-07-29 20:01:23 +10:00
Andrew Murray
2a3a34d2ff Treat MPO with unknown header as base JPEG file 2015-07-19 22:56:04 +10:00
Andrew Murray
94ed100bb2 Removed ImageDraw methods deprecated in PIL 1.1.15 2015-07-13 17:41:26 +10:00
Ömer Kala
1b8b2dbf33 Update Image.py 2015-07-12 17:42:55 +03:00
Andrew Murray
fa73879d19 Changed register calls to use format property 2015-07-04 23:29:58 +10:00
Alex Clark
67d1541c6f Merge pull request #1207 from anntzer/logger
Use logging instead of print.
2015-07-02 05:22:07 -04:00
Alex Clark
93eb15bec7 Commence 3.0.0.dev0 2015-07-02 05:20:15 -04:00
Alex Clark
80672b61e8 This is 2.9.0
Fixes #1174
2015-07-01 14:33:56 -04:00
Alex Clark
0d9d288a60 Merge pull request #1321 from radarhere/handler
Rearranged format handler fetching
2015-07-01 14:31:22 -04:00
Andrew Murray
abe25b7191 Rearranged format handler fetching 2015-07-01 09:19:28 +10:00
Andrew Murray
4fbea3e553 Added multiframe GIF test 2015-07-01 09:18:05 +10:00
Alex Clark
445a8c06fc Bump 2015-06-30 08:04:35 -04:00
Alex Clark
be1df0f33c Merge pull request #1320 from radarhere/gifmaker
Merged gifmaker into GifImagePlugin
2015-06-30 08:00:39 -04:00
Alex Clark
c489150602 Merge pull request #1319 from radarhere/is_animated
Added is_animated
2015-06-30 07:59:56 -04:00
Alex Clark
d29c3937ee Merge pull request #1302 from hugovk/1301_integer_expected
DPI should be tuple of ints, not floats
2015-06-30 07:57:28 -04:00
Andrew Murray
2c4fe7281f Merged gifmaker into GifImagePlugin 2015-06-30 18:02:48 +10:00
Andrew Murray
d20eef450b Added is_animated 2015-06-30 13:25:00 +10:00
Alex Clark
75be4af068 Merge pull request #1282 from radarhere/eoferror
Frame position when seeking past the end of file
2015-06-29 20:16:15 -04:00
Antony Lee
983c4602b5 Also log plugin opening failures.
This allows obtaining tracebacks of failures by plugins to open files by
setting the log-level to DEBUG, rather than by having to uncomment the
"traceback.print_exc" lines in Image.open.
2015-06-29 12:39:50 -07:00
Antony Lee
4e754e9c55 Use logging instead of print.
cf. #1191.

Only TiffImagePlugin and OLEFileIO still rely on (their own) DEBUG flag.
I left TiffImagePlugin as it is because I hope #1059 gets merged in
first, and OLEFileIO because it uses its own logic.

Untested, as usual.
2015-06-29 12:39:50 -07:00
Alex Clark
96944e2dd6 Bump 2015-06-29 08:57:55 -04:00
Andrew Murray
46fad0fd63 Fixed typo 2015-06-28 12:03:11 +10:00
Andrew Murray
afa4cadb23 Added width and height properties 2015-06-26 17:20:17 +10:00
hugovk
0564979cf9 Formatting 2015-06-25 23:19:07 +03:00
hugovk
3e6e50476b DPI should be tuple of ints, not floats 2015-06-25 23:17:21 +03:00
wiredfool
cea766e980 Merge pull request #1217 from radarhere/qt-convert
Add functions to convert: Image <-> QImage; Image <-> QPixmap
2015-06-22 11:32:55 -07:00
Andrew Murray
b553ad7a70 Further fixes 2015-06-21 16:33:55 +10:00
Andrew Murray
c644bf9455 Do not import ImageQt until it is requested 2015-06-19 15:55:35 +10:00
Andrew Murray
33d51d4255 Flake8 and health fixes 2015-06-19 15:36:23 +10:00
Andrew Murray
43e2c92802 Removed unused imports 2015-06-19 15:35:56 +10:00
Andrew Murray
1111e9fb35 Fixed frame position when seeking past the end of file 2015-06-19 00:49:18 +10:00
Andrew Murray
77169b2fdb Moved multiline split character to common functions 2015-06-18 13:21:39 +10:00
Alexander Schier
d626679c23 added support for multiline text drawing 2015-06-18 13:07:00 +10:00
Andrew Murray
fa1c4bffaf Do not attempt to subclass QImage if Qt is not installed 2015-06-18 11:21:14 +10:00