Commit Graph

1674 Commits

Author SHA1 Message Date
Andrew Murray
97a2d42dac Removed unused print_function imports 2017-01-18 20:06:21 +11:00
Andrew Murray
58b5c9187d Replaced absolute PIL imports with relative imports (#2349) 2017-01-17 13:22:18 +00:00
wiredfool
c1b510c72c Merge pull request #2307 from radarhere/contextmanagers
Added context managers
2017-01-17 13:20:41 +00:00
wiredfool
f6dd290560 Merge pull request #2343 from radarhere/registered_extensions
Expose registered file extensions in Image
2017-01-16 11:40:02 +00:00
Jarkko Pöyry
3bdd15e55e Make mode descriptor cache initialization thread-safe.
Initializing mode descriptor cache in-place is racy and may cause a thread to
observe a partially constructed cache if another thread is pre-empted while
it's still constructing the cache. In this change, the mode descriptor cache is
constructed into a local variable instead and then set globally in a single
atomic operation, preventing any possibility of observing an incomplete cache.
2017-01-10 23:49:29 +02:00
Luis G
67c1258cfc Expose registered file extensions
This adds a new method in Image (registered_extensions) that exposes the
internal EXTENSION dictionary to consumers of the library
2017-01-07 11:32:16 +11:00
Andrew Murray
1fb00976f5 Removed TODO resolved in #1121 2017-01-07 10:14:49 +11:00
Jerome Leclanche
3ac9ab6fa2 Remove an unnecessary import 2017-01-07 08:12:33 +11:00
wiredfool
296fb5fe1d 4.1.0.dev0 version bump 2017-01-02 04:06:48 -08:00
wiredfool
a021d4978d 4.0.0 version bump 2017-01-01 20:20:06 +00:00
wiredfool
ccccd725af Merge pull request #2329 from wiredfool/pcd_hack_refactor
Refactor out postprocessing hack to load_end in PcdImageFile
2017-01-01 19:07:23 +00:00
wiredfool
599ec6bcd6 Removed #hack 2017-01-01 12:59:48 +00:00
wiredfool
8dd19e6c33 refactor out postprocessing hack to load_end in PcdImageFile 2017-01-01 12:04:59 +00:00
wiredfool
fed4b52171 Disable fastpath when using center or translate 2017-01-01 11:13:25 +00:00
wiredfool
f286d8bb34 Documentation param order to match actual order 2017-01-01 11:10:39 +00:00
Marcus Brinkmann
90077b3975 Add center and translate option to Image.rotate. 2016-12-31 19:01:09 +00:00
wiredfool
c7df6287fa Merge pull request #2262 from wiredfool/zero_size
Allow 0 size images, Fixes #2259
2016-12-31 16:35:14 +00:00
wiredfool
69bea50810 Allow 0 size images, Fixes #2259 2016-12-31 13:19:29 +00:00
wiredfool
31c204eae4 Loop cleanup, python 3 compatibility 2016-12-31 12:29:10 +00:00
Mickael B
597ab45d4d [SGI] Save uncompressed SGI/BW/RGB/RGBA files
Save feature added to SgiImagePlugin.py, uncompressed method only
2016-12-31 12:29:10 +00:00
Andrew Murray
a06dd59df7 Added context managers 2016-12-28 09:54:10 +11:00
wiredfool
944a470a79 Merge pull request #2312 from wiredfool/pr_2298
List of individual frame durations for saving animated gifs. #2298
2016-12-27 12:00:40 +00:00
wiredfool
f36a04570f Merge pull request #2313 from wiredfool/pr_2196
Unified different GIF optimize conditions #2196, Test for #2196
2016-12-27 11:53:50 +00:00
wiredfool
e530f2a228 Added tuple option for durations 2016-12-27 03:04:37 -08:00
wiredfool
87092ad4f8 can pass list of integer to set different duration for each frame when saving GIF 2016-12-27 02:44:05 -08:00
Andrew Murray
8c2a857c2e Removed shebang line from OleFileIO 2016-12-25 20:18:50 +01:00
Jakub Wilk
8524c18329 Remove executable bit from OleFileIO.py 2016-12-25 12:05:38 +01:00
wiredfool
80b78be21a Merge pull request #2199 from jdufresne/dep-olefile
Remove vendored version of olefile Python package in favor of upstream
2016-12-13 20:12:29 +00:00
wiredfool
55f7a736a4 Merge pull request #2234 from radarhere/print
Updated comments to use print as a function
2016-12-13 20:00:25 +00:00
wiredfool
ba5f9b88da Merge pull request #2223 from wiredfool/handles_eof
Removed the handles_eof flag in the decoder, as there are no users of it
2016-12-13 19:48:55 +00:00
Andrew Murray
41e492b026 Removed use of spaces in TIFF kwargs, deprecated in 2.7 2016-12-09 20:44:42 +11:00
Hugo
837d583b15 Merge pull request #2275 from wiredfool/issue_2272
Update Maxblock heuristic (fixes #2272)
2016-12-04 21:38:22 +02:00
wiredfool
7e2bd28a7c Fix for issue 2272, CMYK images miss the heuristic for the maxblock buffer scaling 2016-12-03 14:45:45 +00:00
wiredfool
86606022c5 Merge pull request #2193 from SemanticsOS/lambdafu/libtiff-icc
Update info.icc_profile when using libtiff reader.
2016-12-03 13:44:26 +00:00
hugovk
adfda1a5a4 Python 3 compatibility 2016-11-30 16:50:44 +02:00
hugovk
880464f46c Only save relevant sizes 2016-11-30 16:41:43 +02:00
hugovk
b341898c7f Allow 256x256 sizes 2016-11-30 16:00:14 +02:00
hugovk
43fc9c9b59 flake8 2016-11-30 14:51:30 +02:00
hugovk
cc89d95f02 Fix saving 256x256 icons 2016-11-30 14:50:53 +02:00
wiredfool
e0b957240b Merge pull request #2087 from cskau/patch-1
Fixes TIFFImagePlugin ICC color profile saving.
2016-11-29 19:33:52 +00:00
wiredfool
0271887115 Merge pull request #2256 from radarhere/imageops
Doc: Improved description of ImageOps.deform resample parameter
2016-11-27 16:28:03 +00:00
glexey
0116c9240e EMF: support negative bounding box coordinates (#2249)
* EMF: support negative bounding box coordinates

Similar to placeable WMF, bounding box coordinates
should be interpreted as signed integer, otherwise
opening EMF file with negative (x0,y0) fails.

* Basic load tests for WMF and EMF formats

* WMF/WMF tests: just test open(), not load()

Not sure why load() fails on Debian build. Well, at least we can test
open().

* WMF/EMF: Unpack signed integers using unpack()

* WMF/EMF: Compare to reference PNG rendering

* EMF/WMF comparison: use assert_image_similar()

* Use similarity epsilon 0.5 for WMF, as vector rendering looks different across Windows platforms

* Trigger rebuild
2016-11-27 16:03:51 +00:00
Andrew Murray
14cfec0b49 Added decompression bomb check to WalImageFile 2016-11-26 11:50:56 +11:00
Andrew Murray
87de178e0b Added context manager when opening files in WalImageFile 2016-11-26 11:29:20 +11:00
Andrew Murray
67be3a9eda Added future print_function imports 2016-11-26 11:05:56 +11:00
Andrew Murray
4ed31e8ef7 Updated comments to use print as a function 2016-11-26 11:02:44 +11:00
Andrew Murray
378dbb2f9f Improved description of method parameter 2016-11-26 10:57:51 +11:00
Hugo
fb54b1da2e Merge pull request #2248 from uploadcare/use-_new
Use Image._new() instead of _makeself()
2016-11-24 08:32:13 +02:00
homm
d4784bffb2 return copy of the image if size matches 2016-11-24 03:30:36 +03:00
homm
14734b1d97 remove _makeself deprecated method 2016-11-24 03:03:31 +03:00
Hugo
6fa7f3fc67 Merge pull request #2241 from wiredfool/sunrle
SunImagePlugin fixes
2016-11-23 16:10:17 +02:00
wiredfool
212508b3f2 Review comments 2016-11-23 05:33:02 -08:00
homm
5773fd8396 _makeself → _new 2016-11-23 14:41:43 +03:00
Jon Dufresne
52b1f46b12 Deprecate vendored version of olefile Python package in favor of upstream
Pillow now requires the olefile Python package through setup.py.

This removes Pillow's maintenance of this library by instead relying on
and reusing the upstream version. No longer need to regularly update the
vendored package and docs. olefile bug fixes and features can go
directly upstream.

During travis tests, now installs Pillow package before tests; this will
also install all dependencies (currently, only olefile).
2016-11-22 18:17:31 -08:00
wiredfool
620d082457 Merge pull request #2240 from uploadcare/draft-min-scale
Use minimal scale for jpeg drafts
2016-11-22 15:22:59 +00:00
wiredfool
d3cdaabf7c Merge pull request #2186 from timgraham/escape-sequences-bytes
Fix "invalid escape sequence" bytestring warnings in Python 3.6
2016-11-22 12:34:50 +00:00
Jon Dufresne
dbe9f85c7d Drop support for Python 2.6
* Drop unittest2 requirement
* Use set literals
* Use dict/set comprehension
* Use str.format() automatic numbering
2016-11-22 04:23:55 -08:00
wiredfool
8b4cd7eb7a Merge pull request #2226 from jdufresne/font-file-close
Use a context manager in FontFile.save() to ensure file is always closed
2016-11-22 12:04:28 +00:00
wiredfool
87b8d2894a Merge pull request #2227 from radarhere/fpname
Fixed bug in saving to fp-objects in Python >= 3.4
2016-11-22 12:03:25 +00:00
wiredfool
806e5343d8 Merge pull request #2232 from jdufresne/font-close-file
Close file after finished reading in ImageFont._load_pilfont()
2016-11-22 11:59:36 +00:00
wiredfool
816c74ac81 Fix SunImagePlugin.
SunImagePlugin now loads all the images here:
https://samples.libav.org/image-samples/sunrast/
without LOAD_TRUNCATED_IMAGES set, verified visually.

Prior to this commit:
Could not open 32bpp.ras
Could not open 4bpp.ras
Could not open gray.ras
Could not open lena-1bit-rle.sun
Could not open lena-24bit-rle.sun
Could not open lena-8bit-raw.sun
Could not open lena-8bit-rle.sun
Could not open MARBLES.SUN
2016-11-22 02:52:18 -08:00
wiredfool
372b1abe69 expand tile element names, don't attempt to mmap if args has < 3 elements 2016-11-22 02:46:54 -08:00
homm
55fca4857c protect .draft() from second call 2016-11-22 04:28:04 +03:00
homm
8f6b7b258b use minimal scale for jpeg downscaling 2016-11-22 04:00:49 +03:00
wiredfool
318ff7d332 fixed support for hopper.ras, and other RGB sun raster files 2016-11-19 19:43:43 -08:00
Andrew Murray
5d37103d01 Corrected unfinished sentence 2016-11-19 10:55:08 +11:00
Andrew Murray
8758866f47 Fixed typo 2016-11-19 10:45:33 +11:00
Jon Dufresne
85ec6eb251 Close file after finished reading in ImageFont._load_pilfont()
Fixes some "ResourceWarning: unclosed file ..." when running tests with
warnings enabled.
2016-11-17 07:46:54 -08:00
Andrew Murray
38fd77ca7d Fixed bug in saving to fp-objects in Python >= 3.4 2016-11-15 20:13:25 +11:00
Jon Dufresne
25ac9a20e4 Use a context manager in FontFile.save() to ensure file is always closed 2016-11-14 21:18:57 -08:00
Jon Dufresne
ffa5bc2726 Use generator expressions instead of list comprehension
Avoids unnecessary temporary lists in memory.
2016-11-14 18:11:15 -08:00
wiredfool
2a74940817 Merge pull request #2215 from jdufresne/img-palette-close
Close file after reading in ImagePalette.load()
2016-11-14 22:12:08 +00:00
Andrew Murray
c3fe5d4313 Changed behaviour of default box argument for paste method to match docs 2016-11-15 06:37:40 +11:00
wiredfool
90760a5f30 Removed the handles_eof flag in the decoder, as there are no users of it 2016-11-14 07:47:02 -08:00
Jake Merdich
05b5382a60 Add support for another type of BMP bitfield
There's an example file [here](https://dl.dropboxusercontent.com/u/11688373/Gompei%20(1).bmp), though I don't have the rights to commit it here.
2016-11-14 00:31:23 -05:00
Jon Dufresne
a5d6519d74 Remove long deprecated ImageDraw methods
Deprecated in 89ccf66ff7 since Sep 29,
2015, version 3.0.0.
2016-11-13 10:08:47 -08:00
Jon Dufresne
6bc8fdd342 Close file after reading in ImagePalette.load()
Fixes some "ResourceWarning: unclosed file ..." when running tests with
warnings enabled.
2016-11-11 16:59:32 -08:00
wiredfool
650062bc75 Merge pull request #2197 from radarhere/rangelen
Replaced range(len())
2016-11-11 17:03:38 +00:00
wiredfool
9ee19f2aa9 Merge pull request #2182 from wiredfool/pyside_segfault
Fix for ImageQt Segfault
2016-11-11 17:00:27 +00:00
Andrew Murray
8fc90fe4fa Replaced range(len()) 2016-11-06 12:38:59 +11:00
Andrew Murray
2ba2763f0b Replaced range(len()) with enumerate 2016-11-05 19:09:14 +11:00
Clement Skau
caf53b05ec Fixes TIFFImagePlugin ICC color profile saving.
In the TIFF code saving icc_profile is conditional on tag_v2 being set which doesn't make sense to me. I believe this is merely an indentation typo.

I've been trying to save TIFFs with im.info['icc_profile'] set and compression=raw, but unfortunately this results in TIFFs without ICC color profiles.
With the attached patch TIFFs with said conditions will be saved with the profile set in im.info['icc_profile'].

Note: There are a number of different conditions that need to be met for code to succeed in saving with the profile since it branches between using libtiff and ImageFile._save(..), and the libtiff code does not currently save the ICC color profile.
For instance setting compression=tiff_lzw will result in using libtiff and no profile will be saved.
2016-11-05 15:01:39 +09:00
Andrew Murray
a51dc7dcaf Unified different GIF optimize conditions 2016-11-05 13:32:02 +11:00
Marcus Brinkmann
66de02685f Update info.icc_profile when using libtiff reader. 2016-11-04 16:37:49 +01:00
Hugo
48b72eac34 Merge pull request #2184 from jdufresne/isinstance
Replace type() equality checks with isinstance
2016-11-01 19:07:06 +02:00
Tim Graham
792df283d9 Fix "invalid escape sequence" bytestring warnings in Python 3.6 2016-10-31 11:48:59 -04:00
Tim Graham
02b5ce0479 Remove redundant space in PIL.Image ImportError message 2016-10-31 11:09:40 -04:00
Jon Dufresne
e44bb42ae9 Replace type() equality checks with isinstance 2016-10-31 06:41:43 -07:00
wiredfool
8582144e0e Fix for issue #1370, Segfault using QImages due to not retaining the data 2016-10-27 14:11:06 -07:00
wiredfool
37d97968e4 Merge pull request #2172 from jdufresne/bytes-warning
Fix BytesWarnings discovered while running tests
2016-10-25 10:07:53 +01:00
Jon Dufresne
7992d2a65a Fix BytesWarning discovered while running tests
Discovered using the command:

python -b -m nose -vx Tests/test_*.py
2016-10-22 12:35:44 -07:00
Matt R. Wilson
74f751037f Divide floats to eliminate deprecation warning.
When running python 2.7 with the `-3` flag the following warning occurs
> .../PIL/Image.py:48: DeprecationWarning: classic int division
  MAX_IMAGE_PIXELS = int(1024 * 1024 * 1024 / 4 / 3)

Simply changing the 4 and 3 to be floats instead eliminates the warning
and, because the result is cast, the resulting `int` stays the same for
python 2 and 3.
2016-10-22 11:58:13 -04:00
Andrew Murray
f59b708f3a Fixed typo 2016-10-07 20:43:54 +11:00
wiredfool
35e1237b7e 3.5.0.dev0 Dev Version bump 2016-10-04 00:18:33 -07:00
homm
c5e111e6b8 allow lists as arguments for Image.new 2016-10-04 03:06:35 +03:00
wiredfool
ac5a212cee 3.4.0 Release Version bump 2016-10-03 08:00:29 -07:00
wiredfool
22ff3f4358 Vulnerable map function is not called on windows 2016-10-03 07:42:48 -07:00
wiredfool
445451c0b9 Added common check for size tuple errors 2016-10-03 07:27:02 -07:00
wiredfool
1a43da7a8b Removed 'Debugging' open_ppm call that didn't check file provided parameters for sanity 2016-10-03 07:27:02 -07:00
wiredfool
d9fc1848a2 Merge pull request #2140 from SemanticsOS/lambdafu/tiff-multipage
Add TIFF save_all writer.
2016-10-03 06:31:39 -07:00
wiredfool
2db3f00e92 Merge pull request #2141 from wiredfool/tiff_fd
Move libtiff fd duplication to _load_libtiff
2016-10-03 06:03:50 -07:00
wiredfool
f8e6953e6e Merge pull request #2133 from wiredfool/gif-optimize-perf
Speed up GIF save optimization step
2016-10-03 06:03:12 -07:00
wiredfool
9440764863 Merge pull request #2131 from wiredfool/imagecms-segfault
Fix for ImageCms Segfault
2016-10-03 06:02:39 -07:00
wiredfool
ab29e2fa24 Merge pull request #2138 from wiredfool/issue_1077
Make Image.crop an immediate operation, not lazy.
2016-10-03 06:01:34 -07:00
wiredfool
41cbd4f4d3 Only duplicate the file descriptor when acually passing it to
libtiff.  From: Sebastian Krause <sebastian@realpath.org>
2016-09-29 22:14:51 +01:00
Eric Soroos
95b50bf611 Make Image.crop an immediate operation, not lazy. Fixes #1077 2016-09-29 13:28:24 -07:00
wiredfool
4a90e8f75b Merge pull request #2024 from uploadcare/fix-empty-exif-tags
Skip empty values in ImageFileDirectory
2016-09-29 08:24:44 -07:00
wiredfool
0902120f09 Merge pull request #2139 from SemanticsOS/lambdafu/multipage-tiff-palette
Force reloading palette when using mmap in ImageFile.
2016-09-29 08:20:25 -07:00
Marcus Brinkmann
92c7337df0 Add TIFF save_all writer. 2016-09-29 17:05:33 +02:00
Marcus Brinkmann
c74e45e87c Force reloading palette when using mmap in ImageFile. 2016-09-29 14:54:25 +02:00
Tim Graham
0c66b80a95 Fix "invalid escape sequence" warning in Python 3.6
http://bugs.python.org/issue27364
2016-09-27 19:26:57 -04:00
wiredfool
1d068b6e0a Check type of items passed into to ImageCms.ImageCmsProfile, fixes #2037 2016-09-26 14:56:00 -07:00
wiredfool
a51d3bcdba Speed up Gif save optimization step: don't do it as often and do it in C. Fixes #2093 2016-09-26 14:51:28 -07:00
Andrew Murray
d3d29ab2e3 Use truth value when checking for optimize option on save 2016-09-25 21:20:54 +10:00
wiredfool
324a91a25c Merge pull request #2021 from radarhere/doc-warnings
Converted documentation parameter format, comments to docstrings.
2016-09-25 09:34:12 +01:00
wiredfool
21d1fd6be0 Merge pull request #2125 from radarhere/macos
Renamed references to OS X to macOS
2016-09-25 09:31:01 +01:00
Andrew Murray
ea3be60c03 Converted documentation 2016-09-24 19:10:46 +10:00
wiredfool
54520b10ac Merge pull request #2127 from radarhere/imagefile
Removed outdated comment
2016-09-23 15:42:15 +01:00
Andrew Murray
ba0e26ae84 Removed outdated comment 2016-09-24 00:18:31 +10:00
Andrew Murray
b58f76dc4f Renamed references to OS X to macOS 2016-09-23 21:12:03 +10:00
Andrew Murray
de6158f5f1 Read value when checking for JPEG progressive key 2016-09-23 20:32:21 +10:00
Andrew Murray
051a410859 Convert DPI to ints when saving as JPEG 2016-09-22 19:41:32 +10:00
wiredfool
25797b2baa Merge pull request #2103 from radarhere/append_images
Added append_images parameter to GIF saving
2016-09-22 10:21:31 +01:00
wiredfool
9c4c16df75 Merge pull request #2068 from Mischanix/dxtc
Move DDS decoders to C, add DXT3, BC7 Decoders
2016-09-22 10:04:23 +01:00
wiredfool
8ed63793bf Merge pull request #2111 from anntzer/save-tiff-resolution-when-originally-missing-entry
Fix saving originally missing TIFF tags.
2016-09-22 09:20:56 +01:00
Hugo
bc354d10c2 Merge pull request #2110 from patricksnape/allow_pathlib_py2
Allow pathlib.Path in Image.open on Python 2.7
2016-09-20 17:54:11 +03:00
Hugo
d13760a0cd Merge pull request #2121 from hugovk/b64decode
Use modern base64 interface over deprecated
2016-09-20 17:52:07 +03:00
Antony Lee
7e9c944caf Fix saving originally missing TIFF tags.
Don't incorrectly set the tag type to None if it was originally missing.
2016-09-19 00:31:17 -07:00
hugovk
40c6825fb1 Use modern base64 interface over deprecated 2016-09-19 08:08:34 +03:00
homm
9453129a57 simpler colormap lookup 2016-09-17 12:38:45 +03:00
homm
859a75ba07 complete getrgb tests 2016-09-17 12:22:27 +03:00
homm
951143c936 #f0f0 and #ff00ff00 colors 2016-09-17 12:11:06 +03:00
Patrick Snape
e981c41b47 Allow pathlib.Path in Image.open on Python 2.7
Although the pathlib backport for Python 2.7 may be deprecated:
https://pypi.python.org/pypi/pathlib/
It is still used by many projects. Therefore, changing to a
Try/Except pattern for checking for pathlib is not any more
obtrusive that the current >= Python 3.4 check and allows users
to use the backport without issue.
2016-09-15 10:05:36 +01:00
Andrew Murray
b346ed36f1 Added append_images parameter to GIF saving 2016-09-11 12:04:01 +10:00
Andrew Murray
be7a191b6e Added local color table for subsequent GIF frames 2016-09-11 11:57:45 +10:00
Andrew Murray
572a3d970c Removed whitespace from blank lines 2016-09-03 12:23:42 +10:00
Andrew Murray
72d5218080 Flake8 fixes 2016-09-03 12:17:22 +10:00
Robert Nix
2be760ca79 Add support for BC7 to DdsImagePlugin 2016-08-26 02:26:03 -05:00
Robert Nix
b46804ea27 Add support for DXT3 to DdsImagePlugin 2016-08-25 20:12:44 -05:00
Robert Nix
18a91cebcf Move DDS decoders to C
- Fixed inaccurate BC1/BC3 texture decoding
2016-08-25 19:27:48 -05:00
wiredfool
0444b4935b Merge pull request #2061 from wiredfool/j2k-access
Added return for J2k (and fpx) Load to return a pixel access object
2016-08-25 12:26:18 +01:00
wiredfool
e980ca7896 Merge pull request #2010 from uploadcare/jpeg-raise-on-alpha
Show warning when trying to save RGBA image as JPEG
2016-08-25 11:41:49 +01:00
wiredfool
5d2667efda Merge pull request #2022 from uploadcare/rotation-pixel-center
Respect pixel centers during transform
2016-08-25 11:40:09 +01:00
Matthew Brett
824a0c232c BF: fix conversion of bit images to numpy arrays
Numpy cannot form arrays from bits.  To convert bit images to numpy,
convert bits to bytes.

From suggestion by Alexander Karpinsky, with thanks.

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

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

>>> img = np.zeros((40,40,2), 'uint8')
>>> Image.fromarray(img)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1929, in fromarray
    raise TypeError("Cannot handle this data type")
TypeError: Cannot handle this data type
2016-04-27 15:23:44 +02:00
Henrique Dante de Almeida
a7c58303ca Make ImageFile load images in read-only mode
The code path for mmapped files unnecessarily loaded images in
read-write mode and had a long standing FIXME message. This patch
uses mmap.ACCESS_READ, which is platform independent to fix this
issue.
2016-04-27 09:39:51 -03:00
Andrew Murray
dd4cb7fbd0 Improved SpiderImagePlugin help text 2016-04-27 22:28:46 +10:00
daniel
1f4e2a180b Changed the use of the generic "Exception" to "NotImplementedError" in the deprecated functions. 2016-04-27 11:12:57 +03:00
Andrew Murray
53de1ba049 Added _accept hook for XVThumbImagePlugin 2016-04-21 21:40:54 +10:00
Andrew Murray
af92d24837 Switched to more descriptive variable names 2016-04-20 06:20:41 +10:00