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
Alessio Sergi
7e8a6c61f8
Use pathlib2 for Path objects on Python < 3.4
...
The pathlib backport module is no longer maintained. The development
has moved to the pathlib2 module instead.
Quoting from the pathlib's README:
"Attention: this backport module isn't maintained anymore. If you want
to report issues or contribute patches, please consider the pathlib2
project instead."
Other projects have already switched to pathlib2, most notably IPython
and its dependencies.
2016-12-17 18:50:50 +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
homm
77210e410d
test for common modes and filters
...
pass box for RGBA → RGBa conversion
2016-12-02 16:33:48 +03:00
homm
295382aadc
vertical and horizontal pass with boxes
2016-12-02 15:40:32 +03:00
homm
3d72e9828f
add param info
2016-12-02 03:11:02 +03:00
homm
6def4bfc73
roi → box
2016-11-30 20:01:28 +03: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
f828416752
add roi argument to Image.resize() method
...
constraints check
2016-11-24 04:40:54 +03: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 factor
passed 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