wiredfool
38f43c1e5f
review lint
2017-03-11 13:50:19 +00:00
wiredfool
c2cd5fe3d1
handles_eof was removed in 4.0
2017-03-11 13:50:19 +00:00
wiredfool
b668db33cd
Updated versionadded to reflect 6-9 month slip [ci skip]
2017-03-11 13:50:19 +00:00
wiredfool
f13b335a60
Py2.7 compatibility
2017-03-11 13:50:19 +00:00
wiredfool
949932f45f
Pure Python MSP Decoder
2017-03-11 13:50:19 +00:00
hugovk
e44773c76c
Test with bad checksum
2017-03-11 13:50:19 +00:00
wiredfool
1c0d1c547e
PyDecoder documentation
2017-03-11 13:50:19 +00:00
wiredfool
25bc5c76ab
Pure python decoder registry
2017-03-11 13:50:19 +00:00
wiredfool
1428e4140a
Test for identical handling of getheader/getdata
2017-03-08 01:35:15 -08:00
wiredfool
676d0c3b3b
Can't use objects in default args
2017-03-08 01:35:15 -08:00
wiredfool
51b46e00c2
Refactor out passed in palette handling, add ImagePalette as an option, document palette format
2017-03-08 01:35:15 -08:00
wiredfool
f6b22bf0ab
moved normalise_ functions together
2017-03-08 01:35:15 -08:00
wiredfool
abb7b7342e
Added function docstring
2017-03-08 01:35:15 -08:00
wiredfool
770c423181
Regroup methods, add docstring comments
2017-03-08 01:35:15 -08:00
wiredfool
46287eb62a
Renamed _get_local_header to _write_local_header
2017-03-08 01:35:15 -08:00
Andrew Murray
ab7e07c54d
Added comment that getdata is legacy
2017-03-08 01:35:15 -08:00
wiredfool
aea2a4ca8d
legacy getheader mutates the image
2017-03-08 01:35:14 -08:00
wiredfool
872bce552f
Docstring Comments on methods
2017-03-08 01:35:14 -08:00
wiredfool
f5e836b442
removed extra param from _get_global_header
2017-03-08 01:35:14 -08:00
wiredfool
321c6165c9
removed extra params from _get_palette_bytes
2017-03-08 01:35:14 -08:00
wiredfool
b315b6ecf3
Don't requantize 'P' images
2017-03-08 01:35:14 -08:00
wiredfool
26e145c8a3
Refactor _convert_mode -> _normalize_mode
2017-03-08 01:34:31 -08:00
wiredfool
b9618b3ce7
Encoderinfo fix
2017-03-08 19:41:18 +11:00
wiredfool
cee397ab00
Refactor get_palette to do one thing, and not mutate the image in place
2017-03-08 19:41:18 +11:00
wiredfool
1e9afb3ecb
Refactor out the palette remapping to Image.Image
2017-03-08 19:41:18 +11:00
wiredfool
24285fdc28
Remove support for PIL plus external encoder
2017-03-08 19:41:18 +11:00
Andrew Murray
87a14ce6de
Created _write_single_frame and _write_multiple_frames from _save
2017-03-08 19:41:18 +11:00
Andrew Murray
d45f1d835b
Removed second return value from _get_palette_bytes
2017-03-08 19:41:18 +11:00
Andrew Murray
26cfa8cc62
Extracted core of getheader into _get_global_header
2017-03-08 19:41:18 +11:00
Andrew Murray
a43295c3dd
Extracted core of getdata into _write_frame_data
2017-03-08 19:41:18 +11:00
Andrew Murray
af57ff8d45
Simplified code
2017-03-08 19:41:18 +11:00
Andrew Murray
b06669f670
Resolved GifImagePlugin FIXME
2017-03-08 19:41:18 +11:00
Andrew Murray
f28084ae3e
Removed unnecessary copy operation
2017-03-08 19:41:18 +11:00
Andrew Murray
ce87310026
Merged _get_used_palette_colors into _get_optimize
2017-03-08 19:41:18 +11:00
Andrew Murray
4df1305073
Only call _get_used_palette_colors when necessary
2017-03-08 19:41:18 +11:00
Andrew Murray
bf0b4cf279
Minor code cleanup in GifImagePlugin
2017-03-08 19:41:18 +11:00
Andrew Murray
562458cdd3
Added _save_netpbm comment
2017-03-08 19:41:18 +11:00
wiredfool
9f88a55fa3
Merge pull request #2442 from hugovk/test-xvthumb
...
Test XVThumbImagePlugin for correctness
2017-03-06 18:53:58 +00:00
wiredfool
1a8f88986d
Merge pull request #2441 from hugovk/test-bufrstub
...
Test BufrStubImagePlugin for correctness
2017-03-06 18:53:13 +00:00
hugovk
94c07f68fb
Python 3 fix
2017-03-04 23:28:08 +02:00
hugovk
5cf56e796f
Refactor to reuse _accept
2017-03-04 20:03:34 +02:00
hugovk
a0f50d7305
Get integers, not single-item lists of integers
2017-03-04 19:58:49 +02:00
hugovk
277d8123a4
Only need to read 4 bytes
2017-03-04 16:39:03 +02:00
hugovk
4ece1ae78a
Python 3 fix
2017-03-04 13:52:14 +02:00
wiredfool
5071ea2a0e
Merge pull request #2425 from radarhere/tests
...
Added tests
2017-03-03 15:44:33 +00:00
Andrew Murray
7467d1e010
Changed comment to be 80 characters or less
2017-03-03 21:57:30 +11:00
Andrew Murray
798fde57ca
Removed unused imports
2017-03-03 21:38:19 +11:00
Andrew Murray
0b93853fd8
Removed duplicate imports
2017-03-03 21:38:19 +11:00
Andrew Murray
bef530cb09
Changed None comparison to is
2017-03-03 21:38:19 +11:00
Andrew Murray
257bc8bd4f
Added tests
2017-03-03 19:45:55 +11:00
Andrew Murray
d92b1678fe
Corrected ImageDraw floodfill exception type
2017-03-03 19:45:55 +11:00
Hugo
49815f8d4a
Test pixar for similarity
2017-02-28 08:27:53 +02:00
Hugo
cb34b686a5
Merge pull request #1822 from radarhere/unused
...
Remove unused imports
2017-02-26 10:05:19 +02:00
Andrew Murray
f9a99652e4
Replaced KeyError catch with dictionary get method
2017-02-25 13:49:05 +11:00
wiredfool
0ee223aa7a
Merge pull request #1390 from radarhere/deprecated_27
...
Removed use of spaces in TIFF kwargs, deprecated in 2.7
2017-02-22 10:13:45 +00:00
wiredfool
a4ef743b0f
Merge pull request #2220 from jdufresne/image-draw-dep
...
Remove long deprecated ImageDraw methods
2017-02-22 10:12:05 +00:00
wiredfool
8421a076ac
Merge pull request #2253 from jdufresne/devnull
...
Send unwanted subprocess output to /dev/null
2017-02-22 10:10:03 +00:00
hugovk
0764b2b5e9
Update error message
2017-02-22 08:20:45 +02:00
Andrew Murray
16c8b01026
Replaced broken URL with web.archive.org URL
2017-02-18 15:53:01 +11:00
Andrew Murray
c2cfd8e7e4
Changed http URL to https
2017-02-18 15:44:22 +11:00
wiredfool
f0cebebf32
Clarify that draft is only implemented for JPEG and PCD
2017-02-17 06:22:40 -08:00
ces42
8fb44a2bee
More explicit error message when saving to a file with invalid extension ( #2399 )
...
* more explicit error message when saving to a file with invalid extension + test
2017-02-17 13:39:16 +00:00
Leonid Bloch
28b818974e
Allow to save tiff stacks from separate images
...
This is a quick solution that will allow to save tiff stacks from
separate images, e.g. from Numpy arrays.
Previously, tiff stacks could be saved only from multiframe images.
This behavior is similar to what is possible now with GIFs.
Note however, that for correct results, all the appended images should
have the same encoder{info,config} properties.
Example:
import numpy as np
from PIL import Image
a = np.ones((100,100,100), dtype=np.uint8)
imlist = []
for m in a:
imlist.append(Image.fromarray(m))
imlist[0].save("test.tif", compression="tiff_deflate", save_all=True,
append_images=imlist[1:])
(Should result in a 100-frame, 100x100 tiff stack.)
Signed-off-by: Leonid Bloch <leonid.bloch@esrf.fr>
2017-02-17 00:57:00 +02:00
Hugo
53e5702557
Update http to https
2017-02-14 11:27:02 +02:00
hugovk
07af06bf8c
Expose and test radial_gradient
2017-01-29 18:44:24 +02:00
hugovk
3ead178d18
flake8
2017-01-29 18:38:06 +02:00
hugovk
47b1c66961
Expose and test linear_gradient
2017-01-29 18:17:31 +02:00
Jon Dufresne
cecdb2af61
Send unwanted subprocess output to /dev/null
...
Avoids unnecessary creation of temporary files as well as unnecessarily
storing process output in memory. The temporary files would sometimes
remain and not be cleaned up.
2017-01-26 17:31:29 -08:00
wiredfool
2df28a6601
Merge pull request #2347 from radarhere/icc_profile
...
Moved iCCP chunk before PLTE chunk when saving as PNG
2017-01-26 14:26:25 +00:00
wiredfool
a62f2c5b44
Merge pull request #2365 from SemanticsOS/lambdafu/dpiresolution
...
Default to inch-interpretation for missing ResolutionUnit in TiffImagePlugin
2017-01-26 14:22:32 +00:00
wiredfool
a71ba1a1c6
comments
2017-01-26 05:55:18 -08:00
wiredfool
a69c37738a
Look in a different location for the tk intepreter on pypy fixes #2376
2017-01-26 05:32:40 -08:00
Andrew Murray
f0480de118
Restricted PNG encoderinfo chunks to valid values when saving
2017-01-21 16:57:03 +11:00
Andrew Murray
361f579579
Moved iCCP chunk before PLTE chunk when saving as PNG
2017-01-21 13:32:22 +11:00
Marcus Brinkmann
8a9bd2cdcd
Default to inch-interpretation for missing ResolutionUnit in TiffImagePlugin.
2017-01-19 17:24:28 +01:00
Alexandru Chirila
b001e5d4ab
Ensure that the err_code
variable is initialized before using.
2017-01-18 14:22:14 +02:00
Andrew Murray
c168f01111
Removed imports used only by comments
2017-01-18 20:06:47 +11:00
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