Commit Graph

1427 Commits

Author SHA1 Message Date
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
Andrew Murray
935ac523bf Added OS X support for ImageGrab grabclipboard 2016-04-20 06:20:41 +10:00
wiredfool
0507192a77 Comments for future people investigating alpha and DIBs 2016-04-19 20:36:25 +01:00
wiredfool
23a847c532 Fixes DIB image format
The DIB image format uses the 40 byte BMP header, followed by 3 masks
for RGB channels. We were reading 4 masks, consuming the first pixel
of the image.

Mostly fixes issue #1293. Remaining issue: alpha channel is actually a
transparency mask.
2016-04-19 20:17:36 +01:00
wiredfool
ae6c46ea92 Merge pull request #1814 from thebostik/jpeg-qtable-bounds
Valid range for baseline jpeg qtables 0 to 255
2016-04-19 16:48:03 +01:00
wiredfool
faeb269e30 Revert "Fix for DIB/BMP images" 2016-04-19 16:37:29 +01:00
wiredfool
562bd8519b Merge pull request #1844 from wiredfool/docs_linkcheck
Fix Docs failures.
2016-04-19 16:33:59 +01:00
wiredfool
b521e28ab2 Merge pull request #1821 from radarhere/tifftags
Added TIFF Tags
2016-04-19 16:32:28 +01:00
wiredfool
43dda0c8da Merge pull request #1841 from radarhere/exif
Added EXIF tags
2016-04-19 16:05:09 +01:00
wiredfool
bbd4337fbb Updated OleFileIO doc links 2016-04-19 07:41:14 -07:00
Andrew Murray
53197808f5 Added _accept hook for PixarImagePlugin 2016-04-19 20:59:32 +10:00
Andrew Murray
34c02e321d Moved EXIF tag to be in hex order 2016-04-19 19:50:28 +10:00
Andrew Murray
521c7e9bdf Added EXIF tags 2016-04-19 19:49:58 +10:00
Oliver Tonnhofer
c773688f37 improve simple palette detection for PNG
- reverts change #1239 which could remove transparency from valid images
  (see test_save_p_transparent_black test case)
- improves simple palette detection to handle images from #1238
2016-04-19 10:21:53 +02:00
Andrew Murray
f9b3a5dbe4 Removed duplicate code in ImagePalette 2016-04-14 19:54:25 +10:00
Andrew Murray
392d567352 Added CMYK mode for opening EPS files 2016-04-13 18:27:46 +10:00
Andrew Murray
435858afaa Fixed typo 2016-04-13 17:33:33 +10:00
Andrew Murray
18d596e320 Added TIFF Tags 2016-04-10 21:31:04 +10:00
Stephen Arthur
b38c32ed70 Valid range for baseline jpeg qtables 0 to 255, fixed issue from using signed char instead of unsigned char. added test 2016-04-06 18:47:51 -07:00
Hugo
a7c678b1af Merge pull request #1813 from wiredfool/DIB_1293
Fix for DIB/BMP images
2016-04-06 19:58:25 +03:00
wiredfool
0e3caec317 Added Transparency mask unpacker for BMP files 2016-04-06 07:40:49 -07:00
wiredfool
e84e02997c Fixes DIB image format
The DIB image format uses the 40 byte BMP header, followed by 3 masks
for RGB channels. We were reading 4 masks, consuming the first pixel
of the image.

Mostly fixes issue #1293. Remaining issue: alpha channel is actually a
transparency mask.
2016-04-06 07:38:41 -07:00
Andrew Murray
1888d60504 Added PixarImagePlugin file extension 2016-04-05 23:01:39 +10:00
Andrew Murray
3478464ce8 Fixed typo 2016-04-05 20:42:24 +10:00
Hugo
cee9a1da15 Merge pull request #1805 from wiredfool/verify-struct-error
Catch struct.errors when verifying png files
2016-04-04 16:38:29 +03:00
wiredfool
90378c8298 Fixing compatibility with the truncated images tests 2016-04-04 05:40:37 -07:00
wiredfool
77da73c90f Catch struct.errors when verifying png files, convert to SyntaxErrors, fixes #1755 2016-04-04 03:08:22 -07:00
wiredfool
ca5e22b59a Merge pull request #1794 from radarhere/spiderimageplugin
SpiderImagePlugin: raise an error when seeking in a non-stack file
2016-04-04 02:07:41 -07:00
wiredfool
14f3b45f46 Merge pull request #1789 from zwhfly/tiff
Add Support for 2/4 bpp Tiff Grayscale Images
2016-04-03 12:07:48 -07:00
Andrew Murray
26bf1937c7 Added warning for deprecated as_dict method 2016-04-03 23:41:28 +10:00
Hugo
77b5a531c6 Merge pull request #1625 from radarhere/health
Health fixes
2016-04-03 10:58:35 +03:00
Jonathan Michalon
d07ab52c66 SpiderImagePlugin: raise an error when seeking in a non-stack file
Using ImageSequence.Iterator on a non-stack SPIDER image leads to infinite loop.
EOFError (which stops the iteration) is never raised because when the image isn't a stack,
seek() returns gently without error.
2016-04-02 19:12:21 +11:00
wiredfool
fd7fa4e61d 3.3.0.dev0 versioning 2016-04-01 07:39:35 -07:00
wiredfool
344cb709ed 3.2.0 Release Version Bump 2016-04-01 05:17:23 -07:00
Andrew Murray
677b958a7f Health fixes 2016-04-01 21:49:30 +11:00
wiredfool
26970c5e21 Merge pull request #1782 from radarhere/compression
Different frames may have different compression types
2016-04-01 03:38:18 -07:00
wiredfool
39fb128898 Merge pull request #1772 from radarhere/copy
Added __copy__ method to Image
2016-04-01 03:35:21 -07:00
wiredfool
8ae375ebec Merge pull request #1787 from radarhere/license
Updated PIL license in OleFileIO README
2016-04-01 03:33:22 -07:00
wiredfool
e8da73e95b Merge pull request #1786 from radarhere/tifftags
Corrected Tiff tag names
2016-04-01 03:31:57 -07:00
zwhfly
aa0636d811 Add Tiff Encodings for 2/4 Bit Grayscale Images
Added decoding support for 2/4 bit grayscale tiff images, including inverted and/or bit-order-reversed formats.
2016-03-29 20:19:22 +08:00
zwhfly
46134f78d2 Rearrange Tiff Encodings List
Refined the order of items in the dict 'OPEN_INFO'.
2016-03-29 20:19:21 +08:00
Andrew Murray
074dd36c33 Updated PIL license in OleFILEIO README [ci skip] 2016-03-29 20:01:39 +11:00
Andrew Murray
91cabaafeb Corrected Tiff tag names 2016-03-29 18:50:51 +11:00
Andrew Murray
886a7cf206 Different TIFF frames may have different compression 2016-03-27 22:18:39 +11:00
wiredfool
43b4b8d664 Fix for UnboundLocalError with corrupt jpeg2k file 2016-03-26 13:41:00 -07:00
Andrew Murray
bb0d312de7 Added __copy__ method to Image 2016-03-16 20:23:51 +11:00
Andrew Murray
d3727b523e Update website URL [ci skip] 2016-03-15 22:53:16 +11:00
wiredfool
b1f81220ef Merge pull request #1749 from radarhere/url
Changed no longer found URL to archive URL
2016-03-14 09:50:58 -07:00