Commit Graph

1436 Commits

Author SHA1 Message Date
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
Andrew Murray
b318595666 Re-added ImageQt class 2015-06-18 11:21:14 +10:00
Roman Inflianskas
2d706d74dc add functions to convert: Image <-> QImage; Image <-> QPixmap (see #897) 2015-06-18 11:21:14 +10:00
Andrew Murray
4c02ae4061 Fixed _binary handling in _accept methods 2015-06-18 10:12:12 +10:00
Hugo van Kemenade
c52616464a Merge pull request #1277 from coldmind/bmp_mime
Register MIME type for BMP
2015-06-17 12:46:30 +03:00
wiredfool
d8c1add604 Merge pull request #1218 from radarhere/qt-compatibility
Adjusted ImageQt use of unicode() for 2/3 compatibility
2015-06-16 11:58:28 -07:00
wiredfool
9abedaab1d Merge pull request #1248 from radarhere/health
Further health fixes
2015-06-16 11:54:03 -07:00
wiredfool
e567267784 Merge pull request #1230 from hugovk/1229_xbm
Identify XBM file created with filename including underscore
2015-06-16 11:51:35 -07:00
wiredfool
30631902d6 Merge pull request #1231 from radarhere/image_palette
Copy image when saving in GifImagePlugin
2015-06-16 11:49:41 -07:00
Andriy Sokolovskiy
fe18b039ca Register MIME type for BMP 2015-06-16 20:33:27 +03:00
Andrew Murray
ecb1cef99b Added background color index saving to GifImagePlugin 2015-06-11 11:10:05 +10:00
Andrew Murray
42d1aabcc4 Removed interlace flag from GifImagePlugin getdata 2015-06-09 20:21:00 +10:00
Andrew Murray
46f439604c Added tests 2015-06-08 01:02:43 +10:00
Andrew Murray
0c51b7967e Fixed seek bug in FliImagePlugin 2015-06-08 01:02:35 +10:00
Antony Lee
3ad70423ad Fix typo in FliImagePlugin (seek -> _seek). 2015-06-08 00:40:23 +10:00
Antony Lee
51f3560dc4 Restore negative seeks for TIFF. 2015-06-08 00:40:23 +10:00
Antony Lee
1b80fe5507 Provide n_frames attribute to multi-frame formats.
cf #1190, #1192.  Tests missing.
2015-06-08 00:40:23 +10:00
Andrew Murray
ed2cca1e71 Fixed Tiff handling of bad EXIF data 2015-06-07 00:09:54 +10:00
Hugo
b816c048ad Merge pull request #1172 from radarhere/gif
Added duration and loop set to GifImagePlugin
2015-06-04 13:07:58 +03:00
Andrew Murray
77e2878734 Fixed redefining built-ins 2015-06-02 00:09:18 +10:00
Andrew Murray
26bcc443d1 Specified exception types 2015-05-30 09:18:27 +10:00
Hugo
022cebd723 Merge pull request #1232 from wiredfool/ico-bigendian
Ico files are little endian, ref #1204
2015-05-29 18:28:59 +03:00
Hugo
4aba749c3c Merge pull request #1245 from radarhere/patch-1
Fixed various typos
2015-05-29 08:28:39 +03:00
Hugo
af6bf89096 Merge pull request #1226 from radarhere/olefileio_upgrade
OleFileIO Upgrade
2015-05-29 08:09:42 +03:00
Andrew Murray
a996033079 Fixed various typos 2015-05-29 14:59:54 +10:00
Andrew Murray
a662a94316 Updated i16 and i32 to be in sync with _binary 2015-05-28 23:11:51 +10:00
Andrew Murray
cfedc8093c Fixed typo 2015-05-28 22:34:45 +10:00
Andrew Murray
29a3de6ccc Doc cleanup from wiredfool 2015-05-28 22:34:38 +10:00
Andrew Murray
1b98b76bcf Flake8 fixes 2015-05-28 22:34:23 +10:00
Andrew Murray
1208fe89cd Renamed _raise_defect to avoid protected member warnings 2015-05-28 22:15:53 +10:00
Andrew Murray
f55f2d13cb Various health fixes 2015-05-28 22:15:52 +10:00
Andrew Murray
b213f63c59 Removed pre-Python 2.3 workaround 2015-05-28 22:15:52 +10:00
Andrew Murray
0999ec95a0 Fixed typo in ImageEnhance.py 2015-05-28 17:20:33 +10:00
Hugo
b350a2ac95 Merge pull request #1239 from juztin/master
Setting transparency value to 0 when the tRNS contains only null byte(s)
2015-05-27 22:37:29 +03:00
Hugo
06c8d715f2 Merge pull request #1233 from radarhere/features
Separated out feature checking from selftest
2015-05-27 14:39:00 +03:00
Hugo
394b245a39 Merge pull request #1240 from radarhere/future
Correct future print imports
2015-05-27 14:37:38 +03:00
Andrew Murray
3c7e37d2d7 Replaced old-style classes 2015-05-27 00:07:21 +10:00
Andrew Murray
4e2de9d9ed Added missing future print imports and removed unnecessary imports 2015-05-23 20:28:41 +10:00
Justin Wilson
e317a729f3 Setting transparency value to 0 when the tRNS contains only null byte(s) 2015-05-22 16:37:50 -06:00
Andrew Murray
98fa49ea37 Changed module and codec names 2015-05-14 20:57:01 +10:00
Andrew Murray
799e8312cb Separated out feature checking from selftest 2015-05-14 19:43:28 +10:00
Andrew Murray
b1e8a68df8 When copying Image, copy ImagePalette as well 2015-05-14 09:57:56 +10:00
Eric Soroos
93461e6faa Ico files are little endian, ref #1204 2015-05-13 03:05:45 -07:00
Andrew Murray
ca89d431ba To avoid modifications, copy image when saving in GifImagePlugin 2015-05-13 16:39:25 +10:00
hugovk
98a8085d6c Header width/height may have multiple underscores: file_name_width 2015-05-12 12:49:43 +03:00
Andrew Murray
1dd3bef615 Upgraded OleFileIO to 0.42b 2015-05-10 23:55:33 +10:00
Andrew Murray
dbd3415709 Removed pre-Python 2.3 workaround 2015-05-08 21:37:05 +10:00
Andrew Murray
9e00c77884 Fixed variable name in JpegImagePlugin 2015-05-08 14:28:49 +10:00
Andrew Murray
3d52e797f8 Adjusted ImageQt use of unicode() for 2/3 compatibility 2015-05-07 21:47:08 +10:00
Hugo
f21b45c976 Merge pull request #1184 from darkfeline/add-doc
Clarify docstring about mask values [ci skip]
2015-05-05 19:29:04 +03:00
Andrew Murray
ee34d6843b Further health fixes 2015-04-24 18:24:52 +10:00
Andrew Murray
7f414057c9 Fixed redefinition of built-in 2015-04-24 16:02:39 +10:00
Andrew Murray
f2145baedb Fixed unused imports in MicImagePlugin 2015-04-24 16:02:39 +10:00
Andrew Murray
e8679dff66 Fixed indentation in OleFileIO 2015-04-24 16:02:39 +10:00
Andrew Murray
540a225ea0 Removed unnecessary pass lines and commented debugging lines 2015-04-24 16:02:38 +10:00
Andrew Murray
8193a07305 Removed unnecessary line from ImageOps 2015-04-24 16:02:38 +10:00
Andrew Murray
9794aafc37 Removed or commented unused variables 2015-04-24 16:02:38 +10:00
Andrew Murray
e22e4239e5 Removed unused imports 2015-04-24 16:01:47 +10:00
Andrew Murray
ebc6996ba5 Changed list comprehension variable name to avoid redefinition 2015-04-24 16:00:08 +10:00
Andrew Murray
d1c182cadc Various Flake8 fixes 2015-04-24 09:26:52 +10:00
Andrew Murray
f028928b5a Rearranged used_palette_colors to fix get_local_header 2015-04-24 00:44:27 +10:00
Andrew Murray
aa1368f551 Flake8 fixes 2015-04-23 23:41:42 +10:00
hugovk
63f6e94be4 Flake8 after PR #1185 2015-04-23 13:25:45 +03:00
Hugo
5302acae37 Merge pull request #1185 from radarhere/icns
Added icns save for OS X
2015-04-23 10:47:58 +03:00
Andrew Murray
1bcda962d2 Updated IcnsImagePlugin documentation 2015-04-23 17:04:03 +10:00
Karim Bahgat
740ab40c6d Keep user-specified ordering of icon sizes
Some consumers of icon files such as py2exe care about the order that icon sizes are added, so the user should be fully in charge of this, instead of force sorting them.
2015-04-14 20:17:57 +02:00
Hugo
b7bf299dad Merge pull request #1113 from bpedersen2/master
Tiff: allow writing floating point tag values
2015-04-14 11:50:07 +03:00
Andrew Murray
689f28aae7 Added icns save 2015-04-12 12:58:46 +10:00
Allen Li
e8107e3bbb Remove wrong docstring about RGBA paste [ci skip]
Pasting RGBA images does preserve the alpha channel if the current image
has an alpha channel.
2015-04-10 23:25:15 -04:00
Allen Li
c6d410ff3b Correct description of alpha-composite [ci skip] 2015-04-10 23:24:30 -04:00
Allen Li
7674694185 Correct description of paste() behavior [ci skip] 2015-04-10 23:23:26 -04:00
Allen Li
bb01e845ea Clarify docstring about mask values [ci skip]
The behavior of paste() with regard to intermediate mask values was
unclear, so this commit clarifies how it works.
2015-04-08 16:03:09 -04:00
Andrew Murray
a5917b3fa3 Added GifImagePlugin tests 2015-04-04 11:45:30 +11:00
Andrew Murray
ecebedba7f Added loop set to GifImagePlugin 2015-04-04 10:33:35 +11:00
Andrew Murray
e36e7dd7a2 Added duration set to GifImagePlugin 2015-04-04 10:33:35 +11:00
Benoit Pierre
dcf399b9a0 pcd: minor cleanup; remove draft method
It's not supported, and the implementation does nothing.
2015-04-02 22:49:15 +02:00
Alex Clark
5cfc34b287 Begin 2.9.0 development with 2.9.0.dev0
Use PEP440 syntax to identify development branch and keep pyroma happy: https://www.python.org/dev/peps/pep-0440/#developmental-releases.
2015-04-02 14:53:49 -04:00
Alex Clark
3f09b8f171 Prep 2.8.1 2015-04-02 10:59:03 -04:00
hugovk
66e86f325f Catch struct.error on invalid JPEG (#1163) 2015-04-02 08:29:18 +03:00
Alex Clark
071df8d33d Some Flake 8 fixes 2015-04-01 15:38:18 -04:00
Alex Clark
ea65087a20 Merge pull request #1125 from artscoop/patch-1
Fix 32-bit BMP loading (RGBA or RGBX)
2015-04-01 15:23:32 -04:00
hugovk
2879819ce7 Style/health fixes 2015-04-01 16:47:01 +03:00
Hugo
4308872809 Merge pull request #1131 from mixcloud/gd-unbound-local-variable
Fix UnboundLocalError in ImageFile
2015-04-01 14:16:36 +03:00
Alex Clark
b9fb9449fb Merge pull request #1160 from radarhere/health
Further health fixes
2015-04-01 06:06:47 -04:00
Alex Clark
c91768f7bf Merge pull request #1117 from radarhere/master
Allow truetype() to search for extensions other than .ttf
2015-04-01 06:01:19 -04:00
George Davaris
68663ad352 Define t variable in a more appropriate place 2015-04-01 10:48:28 +01:00
Andrew Murray
bd3f036a56 Fixed many style problems in OleFileIO resulting from indentation 2015-04-01 17:48:26 +11:00
Andrew Murray
2834b78982 Removed or commented unused variables from OleFileIO 2015-04-01 17:22:44 +11:00
Andrew Murray
b75ee4c5b6 Added tests for font paths without extensions and for preferring ttf extensions 2015-04-01 15:26:00 +11:00
Andrew Murray
68d9860921 Changed list comprehension variable name to avoid redefinition 2015-04-01 12:45:08 +11:00
Andrew Murray
1199665033 Removed duplicate import from OleFileIO 2015-04-01 12:45:08 +11:00
Andrew Murray
1f5aeea463 Fixed incorrect import in FpxImagePlugin 2015-04-01 12:45:08 +11:00
Alex Clark
0925c4adbb Merge pull request #1152 from hugovk/1104
Fix: Cannot identify EPS images
2015-03-31 21:12:55 -04:00
Andrew Murray
440022e59f Added missing import in FpxImagePlugin 2015-04-01 11:21:15 +11:00
Andrew Murray
d88a7b778f Added missing self argument in PyAccess 2015-04-01 09:36:24 +11:00
Andrew Murray
75a760e5d6 Fixed unused imports and removed or commented unused variables from FpximagePlugin 2015-04-01 09:35:45 +11:00
Alex Clark
aaa26f316a Merge pull request #1151 from mfitzp/open-http-image
Add support for HTTP response objects to Image.open()
2015-03-28 07:21:15 -04:00
Alex Clark
860a1dedf1 Prep 2.8.0
No ci skip here because let's see CI run w/new version numbers. I'm starting to think (again) this bump should happen immediately after the release instead of right before the next? But I know @wiredfool had some objection to this at some point. As a compromise, maybe we could change to 2.9.0dev immediately following the release of 2.8.0.
2015-03-27 07:02:02 -04:00
Martin Fitzpatrick
735d342608 Add support for HTTP response objects to Image.open()
HTTP response objects returned from `urllib2.urlopen(url)` or
`requests.get(url, stream=True).raw` are 'file-like' but do not
support `.seek()` operations. As a result PIL is unable to
open them as images, requiring a wrap in `cStringIO` or `BytesIO`.

This commit adds this functionality to `Image.open()` by way of
an `.seek(0)` check and catch on exception
`AttributeError` or `io.UnsupportedOperation`. If this is caught
we attempt to wrap the object using `io.BytesIO` (which will
only work on buffer-file-like objects).

This allows opening of files using both `urllib2` and `requests`, e.g.

    Image.open(urllib2.urlopen(url))
    Image.open(requests.get(url, stream=True).raw)
2015-03-26 13:25:26 +01:00
hugovk
b885c04388 EPS parser: don't index blank lines 2015-03-26 14:06:54 +02:00
Andrew Murray
3e9e95b00a Changed truetype() to prefer .ttf extensions 2015-03-21 21:13:15 +11:00
Andrew Murray
84ec2af495 Allow truetype() to search for extensions other than .ttf 2015-03-21 21:13:15 +11:00
hugovk
b17384cfca Tabs to spaces and other flake8 fixes 2015-03-21 10:32:26 +02:00
Hugo
cabbc5d599 Merge pull request #1123 from radarhere/font_variant
Added copy method font_variant() and accessible properties to truetype()
2015-03-21 10:15:57 +02:00
George Davaris
5a49375d4f Fix UnboundLocalError in ImageFile 2015-03-11 15:37:02 +00:00
artscoop
80d6b29b77 Fix bug with bitmasks on a 1x1 RGBA file
Does not change testing on other files, but fixes a case which previously made PIL collapse.
The Bitmap was a 1x1 RGBA and provoked an exception in PIL, but every Image viewer can load it.
Fixed code with comparison of header size, compression type and loading type of masks and fixed it.
2015-03-10 02:08:23 +01:00
Andrew Murray
fb3fe4b877 Added documentation for font_variant() [ci skip] 2015-03-07 18:38:17 +11:00
hugovk
0b79c6e24a Remove unreachable code (if 0) 2015-03-05 21:07:16 +02:00
artscoop
8c003e9b3f And finally ?
Error happening in Python 3.x with P images:
in original code, palette data was created from a list of bytestrings. Changed to a full bytestring.
- `b"".join(list of bytestrings)` works in python 2.7 and 3.x
- `b"".join(bytestring)` works in python 2.7 but fails in python 3.x
No need to `join` anymore. Works in 3.x
2015-03-05 12:17:52 +01:00
artscoop
310684521a Update BmpImagePlugin.py
Fails on Python 3, tried some fixes before going the virtualenv3 route
2015-03-05 11:32:03 +01:00
artscoop
613d22fc75 Removed debug print
Again.
2015-03-05 10:44:54 +01:00
artscoop
9e3af5a161 Fix .cur 32/rgba, offsets etc.
Various fixes on code broken or not passing tests
2015-03-05 10:40:10 +01:00
artscoop
d7a78f3813 Fixing .cur special header offset
use offset provided
2015-03-05 09:02:09 +01:00
artscoop
82aa9011c9 Restored original error messages
I suspect the tests to check against an exact string when expecting an error
2015-03-05 08:47:34 +01:00
artscoop
c8fddb19f5 Update BmpImagePlugin.py
Getting bonkers but I need to know
2015-03-05 08:34:01 +01:00
artscoop
934651427d Use 1 and not P for basic 1bpp BMP
Readapted some original code.
2015-03-05 08:19:14 +01:00
artscoop
56439b728f Test with original code
...
2015-03-04 23:06:21 +01:00
artscoop
f953b98285 Try to fix tests
Choked on roundtrip, where a P;1 image was returned instead of a 1 image.
2015-03-04 22:40:04 +01:00
artscoop
7b657f6887 Fix for all good_tests
Fixed loading of all types of provided images (+rgba). Added edge case where the header is reported as 40 bytes long with BITFIELDS (they start past the 40 bytes of the header). Loading fails for RLE, but IIRC, they're unsupported so it's normal.
2015-03-04 22:05:32 +01:00
artscoop
c8551770eb Quickfix number 4
Until tests pass.
2015-03-04 19:55:08 +01:00
artscoop
497ddf9c68 Remember correct image offset if bitfields+palette
Use the provided image offset if there is palette data while the image is bitfielded.
2015-03-04 19:50:52 +01:00
artscoop
877c138e21 1bpp BMP fix
It appears that
{{{
  The handling of 1bpp bitmaps is a little complicated.
  When reading 1bpp bitmaps, the palette is ignored.
  1's are considered foreground, and they are considered black.
  0's are considered background, and they are considered white.
}}}
so the raw mode has to be `1;I`
2015-03-04 19:26:15 +01:00
artscoop
c0ce8d0ae8 Removed debug print
Debug print left in _save. Removed.
2015-03-04 18:29:28 +01:00
artscoop
456bd96565 Fix 32-bit BMP loading (RGBA or RGBX)
PIL choked on perfectly valid BMP files (32 bits with Alpha). It could not handle valid RGBA masks to determine the raw format.
To clarify things, I:
- Rewrote the `BmpImagePlugin.BmpImageFile` class to be far more readable
- Made error messages more explicit (e.g. say that RLE bitmaps are unsupported)
- Made a readable dict to contain BMP header information
- Kept the existing security checks
- Instead of reading palette info by chunks of 3/4 bytes, read the whole palette info at once and parse the data.
- Now works with BMPv4/5 with Alpha (and can be exported to alpha PNG for example)
- Tested load and save with RGB24, RGB8, RGB8L, RGB32 and RGBA32.
- Tested with one bogus file. File not accepted, as expected.

I wanted to test more BMP formats, but I could not find that many images.
But for all the types I tested, it worked flawlessly.
2015-03-04 18:15:56 +01:00
Andrew Murray
7a798f8724 Added copy method font_variant() and accessible properties to truetype() 2015-03-04 00:00:18 +11:00
Andrew Murray
f644adbb05 Fixed binary conversion bug, and added corresponding tests 2015-03-02 09:56:47 +11:00
amoibos
aeb1e61aa7 let python do the endian stuff 2015-03-02 00:16:13 +11:00
Robin Lewis
7fafd09bf5 Document filename parameter as deprecated in truetype() 2015-02-23 12:23:01 +00:00
Robin Lewis
066faeb211 Reference non-deprecated argument in truetype documentation 2015-02-23 12:00:52 +00:00
Björn Pedersen
61fb1c5bd4 Tiff: allow writing floating poitn tag values
Use the inverse logic used for loading floating point tag
values to also write them out again.
2015-02-23 09:46:35 +01:00
wiredfool
d80c27dc3f Merge pull request #1095 from hugovk/pickle_L_mode
Fix pickling L mode images with no palette
2015-01-30 11:39:50 -08:00
Hugo
95e9379f45 Merge pull request #1091 from wiredfool/repr_png
iPython display hook
2015-01-30 14:37:03 +02:00
hugovk
0f89322216 When unpickling, only put palette if there is one 2015-01-30 14:04:35 +02:00
wiredfool
8ebdc5b64d Comment typo [ci skip] 2015-01-28 20:23:15 -08:00
wiredfool
8c2a7502a4 Correct the name 2015-01-28 10:02:04 -08:00
wiredfool
05fe86654c Added _repr_png method for ipython display hooks 2015-01-28 09:35:31 -08:00
wiredfool
1e040feb1b Adjust buffer size when quality=keep, fixes #148 (again) 2015-01-18 10:56:29 -08:00
Mikhail Korobov
52cbd123a2 DOC fix "Write Your Own File Decoder" link in Image API docs 2015-01-07 04:12:37 +05:00
wiredfool
0f05eb287a Version Bump --2.7.0 2014-12-31 20:42:57 -08:00
wiredfool
6a7a6fbdb8 Fixed warning on docs building (url can't wrap), added parameters 2014-12-31 16:35:56 -08:00
wiredfool
1aed192554 Merge pull request #1054 from charleslaw/master
Look for OSX and Linux fonts in common places (fixes #370)
2014-12-31 14:43:13 -08:00
Hugo
b3e09122e5 Merge pull request #1060 from wiredfool/png-dos
Fix potential PNG decompression DOS
2014-12-31 20:32:41 +02:00
wiredfool
0b75526ffe Limit total text chunk size to 64k 2014-12-29 17:10:27 -08:00
Charles Law
1c6a89e4c2 default to using /usr/share when XDG_DATA_DIRS is empty or unset 2014-12-29 17:03:39 -08:00
wiredfool
6ffe9e1689 Merge pull request #1058 from hugovk/anntzer-tiff-resolution2
Tests for PR #1044: Use underscores, not spaces, in TIFF tag kwargs
2014-12-29 15:23:20 -08:00
wiredfool
5390aa1692 Merge pull request #1055 from hugovk/test_psdraw
Update and test PSDraw
2014-12-29 15:17:23 -08:00
wiredfool
44286ba3c9 Fix for zlib.decompression bomb in iTXt,zTXt, and iCCP chunks 2014-12-28 22:49:52 -08:00
hugovk
c4d9bb6eaa flake8 2014-12-27 23:07:41 +02:00
hugovk
c2f433e5ac Remove unimplemented setink() 2014-12-27 22:41:56 +02:00
hugovk
8eb117dc9e Fix for Python 3 2014-12-27 22:26:54 +02:00
Charles Law
17d720aebc Partial Fix #370: look for linux fonts in common places 2014-12-26 19:12:06 -05:00
Charles Law
4d2dd3ee7b Partial Fix #370: look for osx fonts in common places 2014-12-26 19:12:05 -05:00
Antony Lee
800480db52 Use underscores, not spaces, in TIFF tag kwargs.
kwargs with spaces ("x resolution", "y resolution", "resolution unit"
and "date time") are deprecated.
2014-12-09 15:17:33 -08:00
homm
66cacc282b do not use really draft JPEG decoding quality 2014-12-04 03:30:39 +03:00
homm
806c06f49f use less expensive BICUBIC resampling 2014-12-04 03:30:39 +03:00
homm
43d5d06ce4 rename Image.ANTIALIAS to Image.LANCZOS 2014-11-28 01:41:56 +03:00
hugovk
c859e3bf40 Some landscape.io fixes 2014-11-27 21:43:45 +02:00
wiredfool
42b59046e7 Merge pull request #993 from moriyoshi/fix/moriyoshi/gif-encoder-optimization-bug
The optimization algorithm is only applicable to the image of mode="P" or "L".
2014-11-27 10:36:34 -08:00
wiredfool
9f7ee1cf91 Merge pull request #1024 from holg/master
[ADD] added PySide compability
2014-11-27 10:31:42 -08:00
wiredfool
e16ee15f2c Merge pull request #997 from homm/replace-resize
Replace resize method
2014-11-27 10:26:48 -08:00
wiredfool
8a3302ba5d Merge pull request #961 from homm/fast-box-blur
Merge Fast Gaussian Blur
2014-11-27 10:20:11 -08:00
holger
100309feaf [ADD] added PySide compability 2014-11-20 23:08:58 +01:00
Hugo
0accf25947 Merge pull request #1021 from wiredfool/save-docs
Docs for Image.save [ci skip]
2014-11-20 08:03:15 +02:00
Hugo
3052d4909c Merge pull request #1020 from wiredfool/quantize
Docstring for Image.quantize. [ci skip]
2014-11-20 08:01:10 +02:00
Hugo
2676845e7e Merge pull request #1019 from wiredfool/load-docs
Docs for PyAccess, PixelAccess objects [ci skip]
2014-11-20 07:58:59 +02:00
wiredfool
c770984867 Document all the save params for PNG, and their references [ci skip] 2014-11-19 15:35:33 -08:00
wiredfool
962ced916d Image.save docs, rename fp, link to params [ci skip] 2014-11-19 15:35:26 -08:00
wiredfool
af8588f34e Docstring for Image.quantize. [ci skip] 2014-11-19 14:26:07 -08:00
wiredfool
ee6f150ef1 Docs for PyAccess, PixelAccess objects [ci skip] 2014-11-19 14:04:39 -08:00
wiredfool
d1f4633c7b Many links to mode concept anchor [ci skip] 2014-11-19 12:49:27 -08:00
Hugo
81bb6df88d Merge pull request #1016 from wiredfool/port-docs
Better docs explaining import _imaging failure
2014-11-19 21:57:21 +02:00
wiredfool
b13a90441f Better docs explaining import _imaging failure [ci skip] 2014-11-19 11:42:26 -08:00
homm
1a097d2e02 Merge commit 'e0b94d65bedb4a2124228aa579686a3ba2974d11' into replace-resize 2014-11-19 13:45:04 +03:00
wiredfool
9a2cc7df83 hoist import, move test to libtiff 2014-11-15 20:38:52 -08:00
Martin Fergie
dd3a46520c Fix for saving to io.BytesIO() 2014-11-14 12:29:10 +00:00
Hugo
5ae3c1c881 Merge pull request #1007 from wiredfool/ico_save
Ico save, additional tests
2014-11-13 10:09:14 +02:00
Aurélien Ballier
37252a67cc Fix bad importà 2014-11-11 19:39:05 +01:00
Aurélien Ballier
f3284e57a6 Merge remote-tracking branch 'upstream/master'
Conflicts:
	PIL/ImageQt.py
2014-11-11 18:00:00 +01:00
homm
f88878c20b reflect changes in documentation 2014-11-09 21:52:16 +03:00
homm
693aff7ee1 remove thumbnail fallback 2014-11-09 21:52:16 +03:00
homm
aba798af25 replace resize implementation 2014-11-09 21:52:16 +03:00
Herb
79c7c7a01a add tests and docs 2014-11-08 14:49:50 +08:00
wiredfool
cfbe49f124 Merge pull request #994 from homm/add-transpose
Add transpose and cache aware rotation
2014-11-07 13:58:18 -08:00
Herb
b38c8e0df2 add ico save support 2014-11-08 03:01:46 +08:00
homm
32079b1dcc make transpose part of public api 2014-11-07 03:37:12 +03:00
Moriyoshi Koizumi
9d60085957 The optimization algorithm is only applicable to the image of mode="P" or "L". 2014-11-06 21:29:27 +09:00
hugovk
947e34616c Merge remote-tracking branch 'upstream/master' into landscape-fixes 2014-11-01 09:44:10 +02:00
homm
36a35e7e27 update box_blur help
fix code style for `!`
fix spelling
2014-10-30 14:19:12 +03:00
Hugo
4d74b81a15 Merge pull request #980 from wiredfool/pr_938
4 bit TIFF support
2014-10-29 21:41:17 +02:00
hugovk
0df43e4f93 Avoid divide by zero 2014-10-25 23:42:02 +03:00
homm
65173f946b replace gaussian blur with extended box blur implementation 2014-10-25 16:36:41 +04:00
homm
d89c9ab750 Merge branch 'gaussian-refactor' into fast-box-blur 2014-10-25 15:50:57 +04:00
Hugo
8b7a989018 Fix "can can" typo
Closes #971.

[CI skip]
2014-10-25 11:07:34 +03:00
wiredfool
042b809f81 Revert incorrect doc change [ci skip] 2014-10-21 09:57:46 -07:00
homm
c80fe312e4 Add extended box blur. 2014-10-20 10:48:16 +04:00
homm
53c8352f39 highlevel api 2014-10-15 04:08:21 +04:00
wiredfool
4f9b2dbe69 Fix pypy 2.4 regression, #952 2014-10-13 11:12:14 -07:00
homm
c42991120a fix tests and set default effective_scale value for gaussian filter 2014-10-12 14:05:22 +04:00
homm
84b9f16bfd add effective_scale to all APIs 2014-10-12 03:29:20 +04:00
Hugo
94863907d5 Merge pull request #942 from manisandro/nitpicks
Fixes for things rpmlint complains about
2014-10-07 21:07:00 +03:00
Eric Soroos
ba27920838 Fix for regression in scipy 2014-10-04 23:19:30 +00:00
Sandro Mani
58f2b10e0b Make OleFileIO.py executable, fix shebang 2014-10-03 09:59:25 +02:00
Sandro Mani
0ca102f9fe Convert file to utf-8 2014-10-03 09:57:32 +02:00
Hugo
fd77bcd5a7 Fix rename regression 2014-10-02 12:43:49 +03:00
Hugo
8cb5688047 flake8 2014-10-02 10:45:41 +03:00
Hugo
552a9a28a0 Support and test for 4-bit greyscale TIFF 2014-10-02 10:43:22 +03:00
wiredfool
9634e437ef Version Bump -- 2.6.0 2014-10-01 09:59:00 -07:00
Hugo
ae7b765b53 Fix some Landscape.io errors and warnings 2014-10-01 16:50:33 +03:00
wiredfool
6abc0d2f40 Version Bump - 2.6.0-rc1 2014-09-29 13:14:49 -07:00
wiredfool
20a90494d1 Fix for docs. Can't wrap warning blocks 2014-09-23 10:11:34 -07:00
wiredfool
1f377c2ace Merge from master 2014-09-23 09:52:03 -07:00
Hugo
5e676ea0bd Merge remote-tracking branch 'upstream/master' into flake8
Conflicts:
	Tests/bench_cffi_access.py
	Tests/test_file_palm.py
	Tests/test_format_hsv.py
	Tests/test_image_putdata.py
	Tests/test_locale.py
	Tests/test_mode_i16.py
2014-09-23 16:35:20 +03:00
Hugo
91588383e7 Merge pull request #904 from hugovk/hopper3
Replace Lena with Hopper (Part II) & Fix for handling P + transparency -> RGBA conversions
2014-09-20 23:31:59 +03:00
wiredfool
af672b1d7e Fix for handling P + transparency -> RGBA conversions 2014-09-20 10:27:52 -07:00
wiredfool
394f6d3249 Fix for alpha preservation in ImageEnhance, #899 2014-09-18 09:10:08 -07:00
wiredfool
5dc418b8de Merge pull request #906 from hugovk/ImageGrab
Improve error message for ImageGrab on non-Windows
2014-09-18 09:08:07 -07:00
Jim Garrison
c85e0e915b Image.close() docstring: use correct "its" 2014-09-17 21:36:59 -07:00
Hugo
99887a5467 Improve the error message when importing ImageGrab on non-Windows (#901) 2014-09-16 16:05:22 +03:00
hugovk
8f9e338303 flake8 + typo: infile_temo -> infile_temp 2014-09-14 12:08:31 +03:00
hugovk
1de128d6b6 Merge branch 'master' into flake8 2014-09-14 10:23:51 +03:00
Hugo
126bf8f1d7 Merge pull request #898 from wiredfool/joshware-j2k-leak
Jpeg2k Decode/Encode Memory Leak Fix
2014-09-13 09:05:22 +03:00
Josh Ware
94194ed248 Cleaning up.
Reduced memory limit to 1GB
2014-09-12 22:09:27 -07:00
Josh Ware
7407371deb NULLing pointers on cleanup 2014-09-12 22:09:27 -07:00
Josh Ware
3da6768a72 Testing whether e.cleanup causes segfaults 2014-09-12 22:09:27 -07:00
Josh Ware
caa95a26b2 Added memory leak fix and testing for Encoder 2014-09-12 22:09:27 -07:00
Josh Ware
7db19efe75 Reduced JPEG2000 test iterations, and added cleanup for decoding using PyPy 2014-09-12 22:09:27 -07:00
Hugo
af8bf3f1d2 Merge pull request #886 from wiredfool/epsfile-rebase
EpsFilePlugin Speed improvements.
2014-09-13 08:08:24 +03:00
Andrew Murray
255a090e97 Avoid resize operation if image is already the correct size 2014-09-10 10:41:46 +10:00
wiredfool
81076d5f29 Don't copy input file for GS if not necessary, length variable name fix 2014-09-02 23:21:02 -07:00
wiredfool
ee46f45b96 Remove unused code, tighten up readline for all the line endings 2014-09-02 23:20:41 -07:00
wiredfool
8f75cc2bbf Don't search for the imagedata if we're not going to do anything with it 2014-09-02 23:20:33 -07:00
wiredfool
9b35a4538d Read the offset using original fp
Read the rest of the text data using one of the line ending
wrappers.
2014-09-02 23:20:23 -07:00
wiredfool
8193566ff1 Try to open the file in universal line ending mode, fallback to prev behavior 2014-09-02 23:20:05 -07:00
wiredfool
17ac15543d fp.tell resyncs the python3 with the file pointer 2014-09-02 15:20:25 -07:00
wiredfool
d8b2829f4b Partial fix for test failures, works on py2.x 2014-09-02 15:20:25 -07:00
Kenny Ostrom
d5b4f136c5 added ifd offset to the tiff decoder args, call TIFFSetSubDirectory 2014-09-02 15:20:25 -07:00
wiredfool
99f7dd2aff Allocate a new core image object for each frame, fixes problems with reusing palettes and image sizes 2014-09-02 15:20:25 -07:00
wiredfool
9f04c2d0a5 Don't close fd for multipage files 2014-09-02 15:20:24 -07:00
etienne
416d8e340e Fixed issue #857.
When saving a JPEG and specifying 'keep' for quality or subsampling,
if the source JPEG image is in grayscale mode, don't try to find the
subsampling of the source, because grayscale images don't have any
subsampling (it's only for color components).

For the moment the fix also ignores subsampling of CMYK JPEG because
currently Pillow doesn't support encoding JPEG in YCCK mode (and
subsampling doesn't make sense in CMYK, but Pillow permits saving CMYK
JPEG with subsampling, that's a bug). This fix pass those errors
silently, i.e. it doesn't raise an error when 'keep' is used but it's
not possible to keep the subsampling (because the image is grayscale
or CMYK). I think it's the proper behavior but I'm not sure.
2014-09-02 14:52:25 -07:00
wiredfool
86d5d8abed Merge pull request #882 from hugovk/effects
Tests and access functions for Effects.c
2014-09-02 14:36:24 -07:00
wiredfool
f6caaa1c9f Merge pull request #875 from hugovk/tifftags
Correct duplicate EXIF and TIFF tags
2014-09-02 14:32:47 -07:00
hugovk
bcc5305125 Add access functions for ImagingEffectSpread with a test 2014-09-02 15:53:58 +03:00
hugovk
8c96d38ce9 Add access functions for ImagingEffectMandelbrot with a test 2014-09-02 15:14:00 +03:00
hugovk
860e67e1c4 Add access functions for ImagingEffectNoise with a test 2014-09-02 14:11:08 +03:00
hugovk
42610c0ecd flake8 2014-08-28 17:18:54 +03:00
hugovk
1335006cd7 flake8 2014-08-28 14:44:19 +03:00
hugovk
c2f0903627 Correct the correction: RelatedImageWidth=0x1001, RelatedImageLength=0x1002 2014-08-27 11:06:34 +03:00
hugovk
d866a29bd8 Correct duplicate EXIF tags: http://www.exiv2.org/tags.html 2014-08-27 10:46:34 +03:00
hugovk
8de95676e0 flake8 2014-08-26 16:47:10 +03:00
hugovk
ec2a225fff flake8 2014-08-26 15:52:37 +03:00
hugovk
952d1d5bf5 Remove duplicate tag caused by typo in spec: http://www.asmail.be/msg0055321032.html 2014-08-26 15:51:37 +03:00
hugovk
998955b024 Fix for Python 3 2014-08-26 12:23:12 +03:00
hugovk
08499d3547 flake8 2014-08-26 12:16:32 +03:00
hugovk
6b5871a484 Fix for GIMP 1.3 gradient files 2014-08-26 12:14:58 +03:00
Hugo
9f7a382b02 Merge pull request #856 from megabuz/tgainfo
Fix TGA files with image ID field
2014-08-20 09:57:04 +03:00
Alexey Buzanov
f94b6b4025 flake8 and tests 2014-08-20 10:32:06 +04:00
wiredfool
2d634d3019 Bump Version/Changelog 2014-08-19 08:52:29 -07:00
wiredfool
347a1d8d95 J2k DOS fix -- CVE-2014-3598
Found and reported by Andrew Drake of dropbox.com
2014-08-19 08:25:40 -07:00
Hugo
3aa9326574 Merge pull request #843 from uvNikita/gif_mode_fix
Fixed wrong mode of gif image.
2014-08-19 17:50:49 +03:00
Alexey Buzanov
1bd4919a35 Fix tga files with image ID field 2014-08-19 17:53:51 +04:00
wiredfool
205e056f8f Icns DOS fix -- CVE-2014-3589
Found and reported by Andrew Drake of dropbox.com
2014-08-13 09:25:11 -07:00
Nikita Uvarov
97e111d079 Fixed wrong mode of gif image.
In case of L mode and small image.
2014-08-07 16:23:08 +03:00
Hugo
3fa247fd7c Merge pull request #837 from wiredfool/cms-profile
Return Profile with Transformed Images
2014-08-03 09:22:03 +03:00
wiredfool
6538d971e2 Docs for profile additions 2014-08-02 21:22:51 -07:00
Mat Moore
e5bceac912 Changed docstring to refer to the correct function 2014-08-02 12:17:57 +01:00
wiredfool
ed3016a08a Merge pull request #832 from hugovk/IptcImagePlugin
Tests for IptcImagePlugin.py
2014-08-01 10:12:01 -07:00
hugovk
a0aff1a87f Remove disabled _is_raw() 2014-08-01 11:12:47 +03:00
hugovk
f5440cc3e1 Fixes for Python 3 2014-07-30 20:43:34 +03:00
hugovk
515bb6e14d flake8 2014-07-30 19:39:11 +03:00
Eric W. Brown
3f0ff0177e Dropped unused "options" from MPO save. 2014-07-30 09:17:43 -07:00
Eric W. Brown
b46f5c6b1e Better documented limited MPO save feature.
At present it’s only possible to save the current frame of an MPO, not
the MPO in its entirety. Added testing verifying as much.
2014-07-30 09:17:36 -07:00
wiredfool
5966278643 Added im.info['icc_profile'] to results for ImageCms.applyTransform 2014-07-29 21:20:11 -07:00
wiredfool
13eb3d667a Added profile.tobytes() for ImageCms Profiles 2014-07-29 20:44:17 -07:00
wiredfool
ab1bbb07c3 Merge pull request #827 from hugovk/test_file_tiff
More tests for TiffImagePlugin
2014-07-29 15:11:36 -07:00
hugovk
56404f6888 Change wrapping to include some context on first line; plus typo fix 2014-07-29 23:00:38 +03:00
hugovk
70528dd539 flake8 2014-07-28 19:00:06 +03:00
Eric W. Brown
c97d1a5601 Updates to MPO handler based on review.
Took out the explicit reference to the MPO Plug-in in Image as it’s now
indirectly referenced via the JPEG Plug-in. Removed the direct MPO
Plug-in registration as it’s now shared with the JPEG Plug-in.
Commented on assertion.
2014-07-28 11:14:38 -04:00
Eric W. Brown
310bf90222 Merge branch 'master' of https://github.com/python-pillow/Pillow 2014-07-28 11:00:49 -04:00
Hugo
328fd35dad Merge pull request #818 from dolda2000/itxt
Added support for encoding and decoding iTXt chunks.
2014-07-26 10:30:00 +03:00
Eric W. Brown
14976346a8 Fixed import for Python 3.
Fixed the trivial import bug that prevented the Python 3 version of MPO
from running. On the way fixed the trivial C bug that prevented
Convert.c from compiling properly in a Mac OS X environment for a
Python 3 target.
2014-07-25 11:50:21 -04:00
Eric W. Brown
8101c2a313 Merge branch 'master' of https://github.com/python-pillow/Pillow 2014-07-25 10:08:18 -04:00
Eric W. Brown
a5683ab574 Implemented MP attribute breakdown with tests. 2014-07-24 15:00:19 -04:00
Eric W. Brown
dcd171c1b8 Minor refactoring per discussion and MPO docs. 2014-07-24 11:16:12 -04:00
Hugo
352f1fd41f Merge pull request #816 from wiredfool/hsv
HSV Support
2014-07-24 09:20:04 +03:00
Eric W. Brown
832e11bed5 Enabled seeking in MPO files.
Note to self: either put the offset in the load_seek() definition or
the tile definition, not both.
2014-07-23 11:27:46 -04:00
Fredrik Tolf
a9f4e30641 Save detected non-Latin1 characters as iTXt to preserve them. 2014-07-23 07:43:52 -07:00
Eric W. Brown
6605bf22e5 Merge branch 'master' of https://github.com/python-pillow/Pillow 2014-07-23 09:22:15 -04:00
Fredrik Tolf
c469dd9ae5 Added support for encoding and decoding iTXt chunks. 2014-07-23 00:28:44 -07:00
wiredfool
625ff24358 Storage, packing and access for HSV format images 2014-07-22 16:09:22 -07:00
Eric W. Brown
1d3fe7ff45 Corrected offset for MPO frames. 2014-07-22 18:23:45 -04:00
Eric W. Brown
d5909e4946 Basic MPO reading works, seek is partially there. 2014-07-22 13:31:51 -04:00
hugovk
d06735b49e More ImagePalette.py tests and remove unused and uncallable new() 2014-07-21 23:18:46 +03:00
wiredfool
7155919b5b Merge pull request #809 from hugovk/public_gamma_lut
Make _make_gamma_lut() public
2014-07-20 11:37:41 -07:00
hugovk
751f672058 Call public, non-warning versions internally 2014-07-20 21:08:14 +03:00
hugovk
37691bc1e4 Make _make_linear_lut public and issue deprecation warnings from old private methods 2014-07-20 10:13:26 +03:00
wiredfool
bf2014ece6 Merge pull request #803 from hugovk/SgiImagePlugin
Sanity tests for SgiImagePlugin.py
2014-07-19 21:21:11 -07:00
hugovk
fef3ceb2c0 If we can't read a file due to unsupported compression, raise an error 2014-07-20 01:50:05 +03:00
Eric W. Brown
098e4c36d6 Further populated Exif values in TiffTags.
Added lots more of the possible Exif values per the EXIF specifications.
2014-07-18 22:02:14 -04:00
hugovk
3c39a44f6e Make _make_gamma_lut() public 2014-07-19 01:45:57 +03:00
Hugo
eb4f669b34 Merge pull request #808 from wiredfool/xpm_load_image
Fix Scrambled XPM
2014-07-19 00:28:02 +03:00
wiredfool
d30eb007ef Fix scrambled XPM image, don't mmap when load_read/load_seek is defined. Fixes #806 2014-07-18 10:40:08 -07:00
Eric W. Brown
5857053be4 Activated MPO detection.
Added MPO to the list to be checked. Removed the superfluous second os
import. Added OS X & Komodo work files to .gitignore.
2014-07-17 12:30:45 -04:00
hugovk
8db043b35f flake8 2014-07-17 02:40:14 +03:00
hugovk
3c8f858aad flake8 2014-07-17 01:21:56 +03:00
hugovk
9acbaa4aee Flake8 and fix typo 2014-07-17 00:12:54 +03:00
hugovk
3322bfbad0 flake8 2014-07-16 21:30:41 +03:00
Eric W. Brown
53b7f6294b First steps toward MPO support.
Allows Pillow to distinguish between JPEGs and MPOs, and provides some
MPO metadata handling. Does not yet handle multiple frames.
2014-07-16 11:36:56 -04:00
hugovk
43dab9113e flake8 2014-07-16 14:26:30 +03:00
wiredfool
09b0d1cfa6 converted to current docutils format 2014-07-15 21:24:52 -07:00
wiredfool
b6c33596b3 Broke out OleFileIO into its own page, Added docs from the readme 2014-07-15 16:56:59 -07:00
hugovk
17223001df flake8 2014-07-15 18:38:10 +03:00
Alex Clark
4b40839970 Revert "Bump"
This reverts commit 4fe5d520fb.

Hah, foiled by PEP8
2014-07-15 06:15:31 -04:00
Alex Clark
4fe5d520fb Bump
Though I hate the 'dev' designation I want something to indicate master is where development for the next major version happens. I think we've previously disagreed on simply 'X.X.X' so I'm going with 'X.X.Xdev' to see if that is more palatable. :-)
2014-07-15 06:02:34 -04:00
wiredfool
5eef39f3fb Asserting copyright over lcms2 port 2014-07-14 22:00:29 -07:00
wiredfool
6a928ff6e2 Removed leading docstring 2014-07-14 21:59:42 -07:00
wiredfool
5e12c49034 Fixing doc warning 2014-07-14 21:32:14 -07:00
wiredfool
a0d6cf01ce Fixing doc warnings, reformatting docstring comments 2014-07-14 21:24:54 -07:00
wiredfool
a0cfa466d9 Fixing warnings when building docs 2014-07-14 21:11:00 -07:00
wiredfool
b6b36543ce Autodoc formatting 2014-07-12 09:52:04 -07:00
wiredfool
7bea6764e9 Merge pull request #773 from hugovk/ImageMath
More tests for ImageMath.py
2014-07-10 10:14:20 -07:00
wiredfool
552effb90d Merge #772 and master 2014-07-08 10:29:53 -07:00
wiredfool
65357e1722 Merge pull request #783 from hugovk/_util
Tests for _util.py
2014-07-08 09:16:52 -07:00
Alex Clark ☺
962f1b46af Merge pull request #784 from tk0miya/master
Fix return value of FreeTypeFont.textsize() does not include font offsets
2014-07-08 05:14:01 -04:00
hugovk
c2cf0b4edd Merge remote-tracking branch 'upstream/master' into _util 2014-07-07 23:48:19 +03:00
Hugo
cb5ed5973a Merge pull request #765 from larsjsol/master
Fix dispose calculations for animated GIFs
2014-07-07 23:04:38 +03:00
hugovk
add45b494a Extract __main__ section of PIL/ImageFont.py into Scripts/createfontdatachunk.py 2014-07-07 22:31:20 +03:00
Lars Jørgen Solberg
925277cbfc ensure that the prevous frame was loaded when seek()ing 2014-07-07 20:46:54 +02:00
wiredfool
e23d3ab779 Merge pull request #780 from hugovk/kill_save2
Remove unused WIP save2() from pre-fork days
2014-07-07 11:28:40 -07:00
Hugo
737c7440d7 Merge pull request #775 from radarhere/master
Added class checking to Image __eq__ function
2014-07-07 19:23:06 +03:00
Takeshi KOMIYA
60628c77b3 Fix return value of FreeTypeFont.textsize() does not include font offsets 2014-07-07 14:42:46 +09:00
hugovk
302978e464 flake8 2014-07-06 01:50:24 +03:00
hugovk
01c0cc9417 Remove unused WIP save2() from pre-fork days 2014-07-05 23:02:34 +03:00
wiredfool
a414986ee9 Merge from master 2014-07-05 11:02:13 -07:00
Andrew Murray
1aee9bfdef Added class checking to __eq__ function 2014-07-05 23:16:14 +10:00
hugovk
5f2138d915 flake8 ImageMath.py 2014-07-05 12:13:43 +03:00
hugovk
770ef9312b flake8 and fix path in __main__ 2014-07-05 01:02:46 +03:00
Lars Jørgen Solberg
047832c6c6 only update the disposal_method if it not 'unspecified' 2014-07-03 19:01:18 +02:00
Lars Jørgen Solberg
f88a355c6c Handle transparency between frames for animated GIFs
Show the previous frame for transparent pixels when the disposal method is 'do not dispose'.

This fixes issue 634.
2014-07-03 18:53:21 +02:00
Lars Jørgen Solberg
08a9bdbcd6 Fix dispose calculations
- use correct dispose mode
- only apply the dispose on extent of the previous frame
2014-07-02 21:27:52 +02:00
wiredfool
a035ecc2ca Merge branch 'master' into HEAD 2014-07-02 08:59:16 -07:00
hugovk
775307113b Ensure rowbytes is an integer (fix for Python 3) 2014-07-01 22:36:56 +03:00
wiredfool
cec5fd9d38 f doesn't exist, BytesIO objects have fileno(), but may return OsError 2014-07-01 11:09:20 -07:00
Alex Clark
f8b6163d9f Bump 2.4.0 -> 2.5.0 2014-07-01 07:42:50 -04:00