Andrew Murray
2995fb67c1
Return after error
2019-07-13 13:50:13 +10:00
Andrew Murray
023dcf27c2
Raise the same error if a truncated image is loaded a second time
2019-07-13 08:37:17 +10:00
Jon Dufresne
d50445ff30
Introduce isort to automate import ordering and formatting
...
Similar to the recent adoption of Black. isort is a Python utility to
sort imports alphabetically and automatically separate into sections. By
using isort, contributors can quickly and automatically conform to the
projects style without thinking. Just let the tool do it.
Uses the configuration recommended by the Black to avoid conflicts of
style.
Rewrite TestImageQt.test_deprecated to no rely on import order.
2019-07-06 16:11:35 -07:00
nulano
0b0dc1112e
Merge branch 'master' into revert-3931-update-freetype-epsilon
...
# Conflicts:
# Tests/test_imagefont.py
2019-07-02 22:49:45 +02:00
nulano
d7c69ea2b4
skip test_unicode_extended on Python 2.x
2019-07-02 11:14:09 +02:00
nulano
22ce5cc0c7
Revert "Update epsilon for FreeType 2.10 with eg. Unicode width 16"
2019-07-02 11:08:48 +02:00
nulano
14ddfd30b2
fix lint
2019-07-02 09:31:05 +02:00
nulano
86d4c53d79
revert #3780 for PyPy as it hasn't been updated
2019-07-02 08:52:15 +02:00
Hugo
46535df8f3
Update epsilon for FreeType 2.10 with eg. Unicode width 16
2019-07-01 16:32:22 +03:00
Oliver Tonnhofer
edeb8d69af
Merge branch 'master' into tiff-jpeg-quality
2019-07-01 11:00:06 +02:00
Oliver Tonnhofer
2af4026201
Improve encoding of TIFF tags ( #3861 )
...
* Improve encoding of TIFF tags
- Pass tagtype from v2 directory to libtiff encoder, instead of
autodetecting type.
- Use explicit types. E.g. uint32_t for TIFF_LONG to fix issues on
platforms with 64bit longs.
- Add support for multiple values (arrays). Requires type in v2
directory and values must be passed as a tuple.
- Add support for signed types (e.g. TIFFTypes.TIFF_SIGNED_SHORT).
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2019-06-30 21:48:19 +03:00
Hugo
8d4bb339a6
Merge pull request #3780 from nulano/update_py_unicode
...
Update Py_UNICODE to Py_UCS4
2019-06-30 13:21:46 +03:00
Hugo
12695b8ca3
Merge pull request #3899 from radarhere/pixelsize
...
Consider I;16 pixel size when drawing
2019-06-30 13:18:46 +03:00
Hugo
f5a89a0e9a
Use unittest asserts for consistency
2019-06-30 11:13:02 +03:00
Andrew Murray
c994b783ec
Merge branch 'master' into tiff-jpeg-quality
2019-06-30 14:03:09 +10:00
Andrew Murray
42588a6493
Skip test if libtiff is not installed
2019-06-30 13:26:58 +10:00
Andrew Murray
cc0d70145b
Lint fixes
2019-06-30 13:26:58 +10:00
Christoph Gohlke
4a69223db9
Add test for sampleformat corruption
2019-06-30 13:26:58 +10:00
Andrew Murray
9074eda608
Merge pull request #3778 from radarhere/all_frames
...
Added ImageSequence all_frames
2019-06-30 07:55:34 +10:00
Andrew Murray
90d3d37164
Do not presume that the background color index is 0
2019-06-29 23:06:45 +10:00
Andrew Murray
97c15a245c
Corrected color table size calculation
2019-06-29 23:02:26 +10:00
Andrew Murray
c3e982e0c6
Merge branch 'master' into master
2019-06-29 22:59:17 +10:00
Hugo
0e7358a046
Updated TIFF tile descriptors to match current decoding functio… ( #3795 )
...
Updated TIFF tile descriptors to match current decoding functionality
2019-06-29 10:27:00 +03:00
Hugo
08c47925d0
Added an image.entropy()
method ( #3608 )
...
Added an `image.entropy()` method
2019-06-29 10:12:34 +03:00
Hugo
372c7c352a
Merge pull request #3703 from jkrshnmenon/master
...
Add an upper limit for blocks_max in _set_blocks_max
2019-06-27 23:03:25 +03:00
Hugo
b584635a8c
Merge pull request #3912 from radarhere/non_font_bytes
...
Fixed crash when loading non-font bytes
2019-06-27 22:40:29 +03:00
Andrew Murray
8b447c4840
Lint fixes
2019-06-26 19:16:36 +10:00
Alexander Böhn
7b815a5f1d
Added an image.entropy()
method
...
This calculates the entropy for the image, based on the histogram.
Because this uses image histogram data directly, the existing C
function underpinning the `image.histogram()` method was abstracted
into a static function to parse extrema tuple arguments, and a new
C function was added to calculate image entropy, making use of the
new static extrema function.
The extrema-parsing function was written by @homm, based on the
macro abstraction I wrote, during the discussion of my first
entropy-method pull request: https://git.io/fhodS
The new `image.entropy()` method is based on `image.histogram()`,
and will accept the same arguments to calculate the histogram data
it will use to assess the entropy of the image.
The algorithm and methodology is based on existing Python code:
* https://git.io/fhmIU
... A test case in the `Tests/` directory, and doctest lines in
`selftest.py`, have both been added and checked.
Changes proposed in this pull request:
* Added “math.h” include to _imaging.c
* The addition of an `image.entropy()` method to the `Image`
Python class,
* The abstraction of the extrema-parsing logic of of the C
function `_histogram` into a static function, and
* The use of that static function in both the `_histogram` and
`_entropy` C functions.
* Minor documentation addenda in the docstrings for both the
`image.entropy()` and `image.histogram()` methods were also
added.
* Removed outdated boilerplate from testing code
* Removed unused “unittest” import
2019-06-26 19:15:47 +10:00
Andrew Murray
f22198e3bc
Lint fixes
2019-06-26 19:09:02 +10:00
Andrew Murray
d591cf8d3f
Error is not raised on 64-bit systems
2019-06-26 19:08:07 +10:00
Jayakrishna Menon
590b5b7f9e
test case for set_blocks_max
2019-06-26 19:08:07 +10:00
Jayakrishna Menon
2acc098cab
adding testcase for overflow
2019-06-26 19:08:07 +10:00
Jayakrishna Menon
494fb25bdb
adding testcase for overflow
2019-06-26 19:08:07 +10:00
Oliver Tonnhofer
2b7d8be536
tiff: add support for JPEG quality
...
Uses JPEGQUALITY pseudo-tag from libtiff.
Also changes the way tags are passed to PyImaging_LibTiffEncoderNew from
dict to list to ensure that COMPRESSION tag is added before JPEGQUALITY.
This is required as the COMPRESSION tag registers the JPEGQUALITY
pseudo-tag.
2019-06-26 06:33:54 +10:00
Oliver Tonnhofer
61add9d6b0
Improve encoding of TIFF tags
...
- Pass tagtype from v2 directory to libtiff encoder, instead of
autodetecting type.
- Use explicit types. E.g. uint32_t for TIFF_LONG to fix issues on
platforms with 64bit longs.
- Add support for multiple values (arrays). Requires type in v2
directory and values must be passed as a tuple.
- Add support for signed types (e.g. TIFFTypes.TIFF_SIGNED_SHORT).
2019-06-26 06:33:19 +10:00
Andrew Murray
25cf1010eb
Lint fixes
2019-06-25 22:20:57 +10:00
nulano
983371d4d8
fix centos, amazon
2019-06-25 22:16:00 +10:00
nulano
be192d8f69
fix lint
2019-06-25 22:16:00 +10:00
nulano
5f65f10191
add test for #3777
2019-06-25 22:16:00 +10:00
Andrew Murray
d00e18b017
Updated test result
2019-06-23 14:01:51 +10:00
David Nisson
ddb61cfbd2
updated tests to match new tile descriptors
2019-06-23 13:59:20 +10:00
Andrew Murray
9c37933bb9
Added CMYK;16B and CMYK;16N unpackers
2019-06-23 11:56:17 +10:00
Andrew Murray
7bb16de81c
Fixed crash when loading non-font bytes
2019-06-23 11:53:01 +10:00
Andrew Murray
db4916849e
Added ImageSequence all_frames
2019-06-23 07:34:39 +10:00
Andrew Murray
e0cbfb2708
Consider I;16 pixel size when drawing
2019-06-23 07:33:55 +10:00
Andrew Murray
68fac40147
Fixed black formatting
2019-06-22 14:47:56 +10:00
Hugo
f5cd8b4b0d
Merge pull request #3909 from hugovk/run-black
...
Format code with Black
2019-06-22 06:46:15 +03:00
Andrew Murray
ea0f1c6b06
Do not presume that the last glyph has the max x value
2019-06-19 22:32:01 +10:00
Andrew Murray
fb38296230
Change direction of y offset in calculating size
2019-06-19 22:30:50 +10:00
Hugo
be1b551bfc
Add __main__.py to output basic format and support information ( #3870 )
...
Add __main__.py to output basic format and support information
2019-06-19 14:42:34 +03:00
Andrew Murray
da16b7ec45
Added variation font support
2019-06-19 20:27:49 +10:00
Hugo
488a0170a3
Format with Black
2019-06-19 09:30:10 +03:00
Hugo
1b99362f3d
Merge remote-tracking branch 'upstream/master' into run-black
2019-06-19 09:29:28 +03:00
Hugo
f338eae128
Merge pull request #3869 from radarhere/imageshow
...
Do not down-convert if image is LA when showing with PNG format
2019-06-19 09:26:15 +03:00
Hugo
a9c05c7aa0
Merge pull request #3759 from radarhere/psd_frames
...
Improve handling of PSD frames
2019-06-19 09:15:13 +03:00
Hugo
ac6185ca15
Merge pull request #3897 from radarhere/load
...
Improved ICO and ICNS loading
2019-06-19 09:09:34 +03:00
Hugo
b2714854a3
Merge pull request #3856 from radarhere/ttb
...
Corrected ttb text positioning
2019-06-19 09:01:51 +03:00
Hugo
5631718a8d
Format with Black
2019-06-13 18:54:46 +03:00
Hugo
77f946d8bc
Format with Black
2019-06-13 18:54:24 +03:00
Hugo
f87821e010
Format with Black
2019-06-13 18:54:11 +03:00
Hugo
d08475442b
Format with Black
2019-06-13 18:53:42 +03:00
Andrew Murray
b262378632
Added mode descriptors for all I;16 modes
2019-06-12 20:33:00 +10:00
Andrew Murray
e8af68bae2
Increased test coverage
2019-06-12 20:30:43 +10:00
Andrew Murray
e1e35cc819
Close internal fp when closing and deleting
2019-06-12 20:12:03 +10:00
Andrew Murray
ea02e28adb
Use _min_frame in ImageSequence.Iterator
2019-06-12 20:11:51 +10:00
Andrew Murray
72d5ee3bfa
Do not close exclusive fp after loading
2019-06-12 20:10:28 +10:00
Andrew Murray
f7d7a80b5b
Allow ICNS to change size as ICO does
2019-06-12 02:19:58 +10:00
Andrew Murray
02a2e93703
Do not load ICO if already loaded
2019-06-12 02:18:54 +10:00
Andrew Murray
231fe4d62a
Revert "Merge pull request #3838 from radarhere/i_conversion"
...
This reverts commit 41f3e7c8bd
, reversing
changes made to 2f84482871
.
2019-06-11 19:28:31 +10:00
Andrew Murray
54c83f61bd
Check for raqm version function
2019-06-07 05:51:40 +10:00
Andrew Murray
1c1447f563
Corrected ttb text positioning
2019-06-07 05:51:40 +10:00
Andrew Murray
77630f000c
Updated resampling filter error messages
2019-06-06 21:36:38 +10:00
Hugo
169961649d
Merge pull request #3848 from radarhere/pa
...
Improved palette handling for LA and PA modes
2019-06-05 22:32:44 +03:00
Hugo
41f3e7c8bd
Merge pull request #3838 from radarhere/i_conversion
...
Improved I mode conversion
2019-06-05 22:23:35 +03:00
Andrew Murray
e011fb155f
Fixed typo
2019-06-05 19:32:50 +10:00
Hugo
23d4e6f4c4
Tighten fixed pyroma test
2019-06-02 22:36:05 +03:00
Jon Dufresne
1008644dd6
Add __main__.py to output basic format and support information
...
To help debug and show supported formats, users can run:
$ python -m PIL
to get basic format and support information about the installed version
of Pillow.
The new feature works as follows:
$ python -m PIL
--------------------------------------------------------------------
Pillow 6.1.0.dev0
--------------------------------------------------------------------
Python modules loaded from .../Pillow/src/PIL
Binary modules loaded from .../Pillow/src/PIL
--------------------------------------------------------------------
Python 3.7.3 (default, May 11 2019, 00:38:04)
[GCC 9.1.1 20190503 (Red Hat 9.1.1-1)]
--------------------------------------------------------------------
--- PIL CORE support ok
--- TKINTER support ok
--- FREETYPE2 support ok
--- LITTLECMS2 support ok
--- WEBP support ok
--- WEBP Transparency support ok
--- WEBPMUX support ok
--- WEBP Animation support ok
--- JPEG support ok
--- OPENJPEG (JPEG2000) support ok
--- ZLIB (PNG/ZIP) support ok
--- LIBTIFF support ok
--- RAQM (Bidirectional Text) support ok
--------------------------------------------------------------------
BLP
Extensions: .blp
Features: open
--------------------------------------------------------------------
BMP image/bmp
Extensions: .bmp
Features: open, save
--------------------------------------------------------------------
BUFR
Extensions: .bufr
Features: open, save
--------------------------------------------------------------------
…
2019-05-27 18:44:04 -07:00
Hugo
feb413e0f3
Merge pull request #3836 from radarhere/ico_size
...
Handle unexpected ICO image sizes
2019-05-12 19:53:48 +03:00
Andrew Murray
d830cca5ca
Handle unexpected ICO image sizes
2019-05-12 20:44:29 +10:00
Andrew Murray
e131fa22e2
Fixed reading and saving for TIFF and IM in PA mode
2019-05-11 14:43:48 +10:00
Andrew Murray
e9c0cf61f3
Fixed palette for LA and PA mode when pickling
2019-05-11 14:43:00 +10:00
Konstantin Kopachev
5e5ff10f09
Fix bits value for RGB;16N unpackers
2019-05-10 08:07:01 +10:00
Andrew Murray
2787b9b991
Added tests
2019-05-08 21:59:16 +10:00
Andrew Murray
ddc83fd8a7
Updated ImageMath tests for scaled I mode conversion
2019-05-08 21:58:50 +10:00
Andrew Murray
8a035b8c5d
Improved I mode conversion
2019-05-08 21:58:33 +10:00
Hugo
45df9ad882
Merge pull request #3807 from radarhere/code
...
Simplified code
2019-05-04 18:57:40 +03:00
Hugo
fdcacb6978
Merge pull request #3817 from radarhere/cmyk_16l
...
Added reading of CMYK;16L TIFF images
2019-05-04 18:53:13 +03:00
Hugo
d45a13d9cb
Merge pull request #3827 from radarhere/pdf
...
Fixed dimensions of 1-bit PDFs
2019-05-04 18:52:16 +03:00
Hugo
9a25b3c797
Merge pull request #3825 from radarhere/path
...
Fixed opening mmap image through Path on Windows
2019-05-04 18:51:23 +03:00
Hugo
c3ed8cc67e
Fixed ImageDraw arc gaps ( #3824 )
...
Fixed ImageDraw arc gaps
2019-05-04 18:50:07 +03:00
Hugo
5090bba463
Merge pull request #3822 from radarhere/tile
...
Expand GIF to include frames with extents outside the image size
2019-05-04 18:46:49 +03:00
Hugo
3e4b1a91ad
Merge pull request #3814 from radarhere/getimage
...
Fixed ImageTk getimage
2019-05-04 18:39:29 +03:00
Hugo
ab9a25d623
Merge pull request #3791 from radarhere/int
...
Fixed bug in decoding large images
2019-05-04 16:15:32 +03:00
Hugo
0ccd887431
Merge pull request #3771 from radarhere/app13
...
Fixed reading APP13 marker without Photoshop data
2019-05-04 16:10:02 +03:00
Andrew Murray
124c1f6bce
Added tests
2019-05-04 23:05:41 +10:00
Andrew Murray
683768095b
Removed duplicate code
2019-05-04 23:05:07 +10:00
Hugo
82d9ea5eac
Merge pull request #3808 from radarhere/imagegrab
...
Added option to include layered windows in ImageGrab.grab on Windows
2019-05-04 16:00:43 +03:00
Hugo
9077a80e3e
Merge pull request #3787 from radarhere/raqm
...
Fixed raqm layout bug
2019-05-04 15:57:13 +03:00
Hugo
e20228a60a
Merge pull request #3785 from radarhere/unicode_path
...
Fixed loading font with non-Unicode path on Windows
2019-05-04 15:55:50 +03:00
Andrew Murray
ae1f7c4f50
Fixed dimensions of 1-bit PDFs
2019-05-04 16:27:34 +10:00
Andrew Murray
691df96734
Fixed opening mmap image through Path on Windows
2019-05-04 15:00:49 +10:00
Andrew Murray
21c7fd251c
Fixed arc gaps
2019-05-03 23:37:37 +10:00
Andrew Murray
27134340f5
Expand GIF to include frames with extents outside the image size
2019-05-02 19:46:17 +10:00
Andrew Murray
ca0d28eae5
Added reading of CMYK;16L TIFF images
2019-05-01 00:42:30 +10:00
Andrew Murray
d9a3878937
Fixed ImageTk getimage
2019-04-29 23:43:13 +10:00
Andrew Murray
70038bd71e
Added option to include layered windows in ImageGrab.grab on Windows
2019-04-26 20:09:46 +10:00
Andrew Murray
ca1cf59251
Changed decode buffer size to Py_ssize_t
2019-04-15 17:33:28 +10:00
Andrew Murray
73cb0ce15f
Fixed numpy bool bug
2019-04-13 00:25:59 +10:00
Andrew Murray
b742d1511e
Fixed raqm layout bug
2019-04-11 15:36:33 +10:00
Andrew Murray
4e6aa7d6d3
Fixed loading font with non-Unicode path on Windows
2019-04-10 07:04:59 +10:00
Riley Lahd
5fb36d2de4
Merge branch 'master' of https://github.com/python-pillow/Pillow
2019-04-09 08:24:52 -06:00
Hugo
b636dde501
Merge pull request #3765 from hugovk/rm-eol-trusty
...
Drop support for EOL Ubuntu 14.04 (Trusty Tahr)
2019-04-06 13:19:21 +03:00
Andrew Murray
2274c2afc7
Fixed reading APP13 marker without Photoshop data
2019-04-05 20:02:45 +11:00
Andrew Murray
4f3b44960f
Resolved segfaults
2019-04-02 09:25:27 +11:00
Hugo
1c3da86ae7
Remove workaround for EOL Trusty/Precise
2019-04-01 17:45:32 +03:00
Andrew Murray
40bc46ff49
Moved ImageFile.Exif to Image.Exif
2019-04-01 20:03:02 +11:00
Andrew Murray
8f0db65cd7
Allow exif_transpose to work on Image instances as well as ImageFile
2019-04-01 19:37:25 +11:00
Andrew Murray
38fb9b1030
Delete EXIF orientation tag after transposing
2019-04-01 18:49:09 +11:00
Hugo
c8257b30dd
Merge pull request #3687 from radarhere/exif_transpose
...
Add ImageOps exif_transpose method
2019-04-01 10:23:33 +03:00
Hugo
7d378a8e4c
Merge pull request #3625 from radarhere/exif
...
Add EXIF class
2019-04-01 10:20:05 +03:00
Andrew Murray
f707affbde
Merge pull request #3615 from hugovk/imagecms-deprecations
...
Add warnings to deprecated CMS profile attributes
2019-04-01 17:35:32 +11:00
Hugo
4f8cfd536b
Merge pull request #3721 from radarhere/quantize
...
Update palette in quantize
2019-03-30 12:07:38 +02:00
Hugo
05849ca794
Merge pull request #3714 from radarhere/tiff_frames
...
Improvements to TIFF is_animated and n_frames
2019-03-30 12:04:16 +02:00
Hugo
69ed0aa5b5
Merge pull request #3728 from radarhere/pa_mode
...
Improvements to PA and LA conversion and palette operations
2019-03-30 12:00:06 +02:00
Andrew Murray
c96cdb5e77
Consistent DPI rounding
2019-03-30 15:03:57 +11:00
Andrew Murray
dba38912fb
Allow putpalette for LA and PA
2019-03-29 23:13:50 +11:00
Andrew Murray
819b8acd26
Improved PA conversion
2019-03-29 23:13:07 +11:00
Alex Clark
c8ee701013
Merge pull request #3752 from hugovk/update-classifiers
...
Update Trove licence classifiers
2019-03-28 14:18:58 -04:00
Andrew Murray
64910d1921
Parse Nintendo and Fujifilm MakerNote tags
2019-03-28 21:13:12 +11:00
Andrew Murray
3caec4344e
Added get_ifd method to access embedded IFDs
2019-03-28 21:13:12 +11:00
Andrew Murray
d5db62be7b
Added EXIF class
2019-03-28 21:13:12 +11:00
Hugo
3b92de5ddc
Merge pull request #3588 from radarhere/mpo_frame_size
...
Change size of MPO image to match frame
2019-03-28 12:01:33 +02:00
Hugo
ace5ba4418
Merge pull request #3701 from radarhere/photoshop
...
Read Photoshop resolution data
2019-03-28 11:55:13 +02:00
Hugo
a93bcdfe0c
Merge pull request #3724 from radarhere/readonly_save
...
Ensure image is mutable before saving
2019-03-28 11:53:33 +02:00
Hugo
0572983104
Merge pull request #3726 from radarhere/pa
...
Promote P images to PA in putalpha
2019-03-28 11:44:52 +02:00
Andrew Murray
a5b62857b0
Change size of MPO image to match frame
2019-03-28 08:33:17 +11:00
Andrew Murray
d84fd20f0c
Simplified is_animated
2019-03-28 08:13:47 +11:00
Hugo
adbe97594e
Merge pull request #3719 from radarhere/p_rgb_rgba
...
Allow RGB and RGBA values for new P images
2019-03-27 18:03:23 +02:00
Hugo
82848905e6
Merge pull request #3713 from radarhere/tiff_seek
...
Fixed TIFF bug when seeking backwards and then forwards
2019-03-27 17:58:34 +02:00
Hugo
90886b1888
Merge branch 'master' into imagecms-deprecations
2019-03-27 12:03:54 +02:00
hugovk
b21ea99fd9
Relax incorrect pyroma test
2019-03-26 22:59:59 +02:00
Andrew Murray
4a5666f1f4
Added transparency for all PNG greyscale modes
2019-03-27 07:41:33 +11:00
Andrew Murray
8ba76f9a10
Added support for I;16 modes for remaining transpose operations
2019-03-23 14:13:39 +11:00
Andrew Murray
31ac5a96d1
Merge pull request #3716 from radarhere/gif_rewind
...
Fixed GIF bug when rewinding to a non-zero frame
2019-03-23 10:46:41 +11:00
Riley Lahd
ad70fc73cb
Linting changes
2019-03-22 08:26:16 -06:00
Riley Lahd
4b2746fc39
Remove disposal 2 duplicate frame exemption and add true delta test
2019-03-22 08:19:01 -06:00
Andrew Murray
15f8ef02c9
Updated freetype to 2.10.0
2019-03-22 21:14:39 +11:00
Andrew Murray
f61828acdc
Promote P images to PA in putalpha
2019-03-19 11:13:58 +11:00
Hugo
b8ea8814f0
Merge pull request #3683 from radarhere/exclusive
...
Only close original fp in __del__ and __exit__ if original fp is exclusive
2019-03-18 20:37:21 +02:00
Jon Dufresne
6d46ae2e8f
Fix BytesWarning in Tests/test_numpy.py
...
When running Python with the `-b` command line argument, fixes warnings:
Tests/test_numpy.py::TestNumpy::test_1bit
Pillow/Tests/test_numpy.py:118: BytesWarning: Comparison between bytes and string
arr_bool = numpy.array([[1, 0, 0, 1, 0], [0, 1, 0, 0, 0]], 'bool')
Tests/test_numpy.py::TestNumpy::test_point_lut
Pillow/Tests/test_numpy.py:170: BytesWarning: Comparison between bytes and string
lut = numpy.array(data, dtype='uint8')
Tests/test_numpy.py::TestNumpy::test_to_array
Pillow/Tests/test_numpy.py:146: BytesWarning: Comparison between bytes and string
self.assertEqual(np_img.dtype, numpy.dtype(dtype))
2019-03-17 10:08:33 -07:00
Andrew Murray
0b62337b6f
Ensure image is mutable before saving
2019-03-17 23:37:40 +11:00
Andrew Murray
7dfbdc01f4
Fixed bug when rewinding to a non-zero frame
2019-03-16 20:02:24 +11:00
Andrew Murray
5b9c11b426
Update palette in quantize
2019-03-16 13:36:58 +11:00
Andrew Murray
6790c2e375
Allow RGB and RGBA values for new P images
2019-03-15 17:35:05 +11:00
Andrew Murray
0b630e06dc
Test that background colours read are equal to saved colours
2019-03-15 10:29:33 +11:00
Riley Lahd
85a07bb385
Linting changes
2019-03-14 14:51:13 -06:00
Riley Lahd
96c5a4c543
Add test for disposal mode 2 gifs
2019-03-14 14:40:31 -06:00
Andrew Murray
0ad09f7386
Merge branch 'master' into mime-types
2019-03-15 07:06:59 +11:00
Andrew Murray
ab85290911
Fixed bug when seeking backwards and then forwards
2019-03-13 18:54:09 +11:00
Hugo
e3eac00b1f
Merge pull request #3566 from radarhere/i16
...
Added I;16 PNG save
2019-03-12 12:25:53 +02:00
Hugo
b3587f0fb7
Merge pull request #3705 from radarhere/bmp
...
Add support for BMP RGBA bitfield compression
2019-03-12 11:36:04 +02:00
Andrew Murray
ce9dd67540
Added I;16 PNG save
2019-03-12 17:28:42 +11:00
Ben Yang
9f390a5192
uncommented test
2019-03-11 18:56:22 -07:00
Ben Yang
5cdbec0cfe
added test for attempting to apply complex settings to fonts when using basic layout engine
2019-03-11 18:56:22 -07:00
Ben Yang
386492ff54
wrong test_language.png committed, whoops! fixed
2019-03-11 18:56:22 -07:00
Ben Yang
7324a32443
fixed some whitespace to pass linting
2019-03-11 18:56:22 -07:00
Ben Yang
8624efd283
added ability to set language for text rendering
2019-03-11 18:55:46 -07:00
Andrew Murray
22b0110f89
Only close original fp in __del__ and __exit__ if original fp is exclusive
2019-03-12 08:54:43 +11:00
Hugo
125a001b66
Merge pull request #3698 from radarhere/context
...
Only close exclusive fp on Image __exit__
2019-03-11 21:41:44 +02:00
Konstantin Kopachev
28c6f555a2
Merge remote-tracking branch 'remotes/upstream/master' into tiff-old-jpeg
2019-03-11 10:38:02 -07:00
Andrew Murray
8ddcc1de52
Load EXIF from PNG where eXIf chunk is after first IDAT chunk
2019-03-11 21:20:18 +11:00
Andrew Murray
365d5e541a
Added EXIF support
2019-03-11 21:19:36 +11:00
Hugo
63f31ee380
Merge pull request #3699 from glasnt/topic/quantize-dither
...
Add option to set dither param on quantize
2019-03-11 12:18:32 +02:00
Hugo
5da0d5beee
Merge pull request #3673 from radarhere/dds
...
Add reading of DDS uncompressed RGB data
2019-03-11 12:04:47 +02:00
Hugo
c88ada1dcd
Merge pull request #3672 from radarhere/tiff_tag_type
...
Corrected length of Tiff BYTE tags
2019-03-11 11:59:29 +02:00
Andrew Murray
5277eec027
Added support for RGBA bitfield compression
2019-03-09 11:11:32 +11:00
Katie McLaughlin
0b63579f39
Add option to set dither param on quantize
...
Default the option to `1`, as per original setting
2019-03-09 10:36:13 +11:00
Andrew Murray
b1cc7df7ba
Only close exclusive fp on Image __exit__
2019-03-06 21:55:32 +11:00
Andrew Murray
1bdb5dc917
Added DIB saving and loading through Image open
2019-03-06 13:59:07 +11:00
Andrew Murray
636ad68f5e
Read Photoshop resolution data
2019-03-06 10:28:45 +11:00
Andrew Murray
7d3b8e8cea
Merge branch 'master' into mime-types
2019-03-06 07:08:00 +11:00
Andrew Murray
4be51c46eb
Added mime types
2019-03-04 18:17:12 +11:00
Andrew Murray
873603701f
Added .pnm test
2019-03-04 15:51:07 +11:00
Andrew Murray
8f34621c14
Added mime type tests
2019-03-04 15:51:07 +11:00
Andrew Murray
1ba774ae7f
Added ImageOps exif_transpose method
2019-03-04 11:49:39 +11:00
Andrew Murray
525eaf7389
Renamed file variable
2019-03-03 13:02:00 +11:00
Andrew Murray
57807e9ce2
Merge pull request #3624 from hugovk/rm-VERSION
...
Remove deprecated VERSION
2019-03-02 11:47:59 +11:00
Hugo
d9f5f44799
Merge pull request #3632 from radarhere/thumbnail
...
Do not resize in Image.thumbnail if already the destination size
2019-02-27 23:37:20 +02:00
Hugo
2e374cf1ad
Merge pull request #3568 from jdufresne/isatty-bool
...
Make ContainerIO.isatty() return a bool, not int
2019-02-27 23:28:51 +02:00
Hugo
2f5f80f47e
Merge pull request #3563 from radarhere/transpose
...
Added support for I;16 modes for more transpose operations
2019-02-27 23:22:52 +02:00
Andrew Murray
bbfbda3d4f
Added tests for unimplemented formats
2019-02-23 08:53:45 +11:00
Andrew Murray
148d320b40
Added reading of uncompressed RGB data
2019-02-23 06:44:06 +11:00
Andrew Murray
dd0e4ac0a1
Corrected length of Tiff BYTE tags
2019-02-22 23:17:26 +11:00
Andrew Murray
7477036230
Merge branch 'master' into imagecms-deprecations
2019-02-21 20:00:27 +11:00
Andrew Murray
5d9898b686
Merge pull request #3655 from hugovk/deprecate-eol-qt
...
Deprecate support for PyQt4 and PySide
2019-02-21 19:22:34 +11:00
Andrew Murray
d07d3d6972
Restored required import
2019-02-20 20:57:52 +11:00
Hugo
65c55402b9
Merge pull request #3537 from radarhere/pickle
...
Fixed pickling of iTXt class with protocol > 1
2019-02-20 11:50:30 +02:00
Hugo
8cd0432e65
Merge pull request #3616 from wbadart/master
...
_util.isPath returns True for pathlib.Path objects
2019-02-20 11:48:12 +02:00
Andrew Murray
38b5255f58
Catch DeprecationWarning from initial import
2019-02-16 12:36:10 +11:00
Andrew Murray
b0f429adca
Line too long
2019-02-15 22:12:40 +11:00
Andrew Murray
6fc7460f9e
Restored newline at end of file
2019-02-15 20:47:00 +11:00
Andrew Murray
1a7a1123e6
Merge branch 'master' into tiff-old-jpeg
2019-02-15 19:56:17 +11:00
Hugo
3c088db7ba
Depreate support for EOL PyQt4 and PySide
2019-02-14 22:59:14 +02:00
Hugo
3ff70c2afc
Merge branch 'master' into imagecms-deprecations
2019-02-13 15:45:28 +02:00
Andrew Murray
1162b4cf83
Do not resize if already the destination size
2019-02-13 19:26:37 +11:00
Hugo
dc3c64a0e3
Merge pull request #3631 from jdufresne/test-main
...
Remove unnecessary unittest.main() boilerplate from test files
2019-02-12 18:12:29 +02:00
Hugo
4ccdbf25cf
Merge pull request #3584 from radarhere/ifd_offset
...
Seek to IFD offset
2019-02-12 18:10:25 +02:00
Hugo
aed56efa50
Apply suggestions from code review
...
Rename `fp` to `test_path` in the new `test_is_path` test.
^ Wow, what a sentence...
Co-Authored-By: wbadart <wbadart@live.com>
2019-02-04 10:36:34 -05:00
Jon Dufresne
4de5477b61
Remove unnecessary unittest.main() boilerplate from test files
...
With the introduction and use of pytest, it is simple and easy to
execute specific tests in isolation through documented command line
arguments. Either by specifying the module path or through the `-k
EXPRESSION` argument. There is no longer any need to provide the
boilerplate:
if __name__ == '__main__':
unittest.main()
To every test file. It is simply noise.
The pattern remains in test files that aren't named with `test_*` as
those files are not discovered and executed by pytest by default.
2019-02-03 10:10:16 -08:00
Hugo
d02e2b5392
Merge pull request #3558 from radarhere/png
...
Allow for unknown PNG chunks after image data
2019-02-03 11:57:21 +02:00
Hugo
1885a2cef5
Merge pull request #3579 from jdufresne/run-one-test
...
Improve pytest configuration to allow specific tests as CLI args
2019-02-03 11:30:57 +02:00
Andrew Murray
a33e71a9df
Changed string to comment
2019-02-03 15:59:24 +11:00
Hugo
158d99b8b0
Remove deprecated VERSION
2019-01-30 15:46:14 +02:00
Hugo
187ba3f6e8
Flake8: Fix F723 syntax error in type comment 'dummy value'; it's just a comment, not a Mypy type
2019-01-30 11:53:26 +02:00
Will Badart
c328ecace3
Fix lint error
...
Removed missing import in test_util.py. Stopped needing it after I
started reusing the py36 test from the _util module.
2019-01-28 20:08:25 -05:00
Will Badart
07bff3e9b8
Implement @hugovk's comments
...
The `py36` flag now uses a tuple comparison to correctly handle future
major version. The unit test file also now uses `py36` as exported by
the _util module, rather than re-testing `sys.version_info`.
2019-01-28 19:45:53 -05:00
Will Badart
37b182793e
test_is_path calls the correct function
...
Before, the test called the isStringType utility, which has its own,
separate test.
2019-01-28 12:23:19 -05:00
Will Badart
adae7ecc6a
_util.isPath returns True for pathlib.Path objects
...
Now, for functions which accept either a path or file object, the
predicate will pass on Paths and not attempt to call .read on them
before opening.
The pathlib module was added in 3.4 but os.path functions did not start
accepting path-like objects until 3.6, so that is the version after
which this implementation is defined.
Added a unit test to make sure isPath accepts Path objects. The unit
test is skipped if python version is not 3.6 or later.
2019-01-28 12:19:21 -05:00
Hugo
a2a5ebfeb4
Refactor
2019-01-28 15:40:19 +02:00
Hugo
a9070f3ca2
Group deprecation tests
2019-01-28 15:40:19 +02:00
Hugo
3476474359
Add warnings to deprecated CMS profile attributes
2019-01-28 15:40:19 +02:00
Hugo
e1381d2102
Add warnings to deprecated CMS profile attributes
2019-01-28 15:40:19 +02:00
Hugo
a149c13d2e
Add warnings to deprecated CMS profile attributes
2019-01-28 15:40:19 +02:00
Hugo
7d157bd825
Add warnings to deprecated CMS profile attributes
2019-01-28 15:40:19 +02:00
Hugo
e7eac4f80b
Add warnings to deprecated CMS profile attributes
2019-01-28 15:40:19 +02:00
Hugo
1b91ae361d
Merge pull request #3599 from hugovk/rm-deprecated-imageops
...
Remove deprecated ImageOps functions
2019-01-26 19:48:17 +02:00
Hugo
d6055440d5
Drop support for EOL Python 3.4
2019-01-24 23:33:14 +02:00
Hugo
b41ffe585b
Remove deprecated ImageOps functions
2019-01-19 20:00:55 +02:00
Andrew Murray
0481d0ac1e
Seek to IFD offset
2019-01-16 06:55:37 +11:00
Andrew Murray
06f47ea546
Revert "Use bare 'raise' to re-raise exceptions"
...
This reverts commit 80e96b2c7b
.
2019-01-14 21:55:47 +11:00
Andrew Murray
811a6ae9f2
Merge pull request #3575 from jdufresne/bare-raise
...
Use bare 'raise' to re-raise exceptions
2019-01-14 15:39:20 +11:00
Jon Dufresne
7da17ad41e
Improve pytest configuration to allow specific tests as CLI args
...
The previous test configuration made it difficult to run a single test
with the pytest CLI. There were two major issues:
- The Tests directory was not a package. It now includes a __init__.py
file and imports from other tests modules are done with relative
imports.
- setup.cfg always specified the Tests directory. So even if a specific
test were specified as a CLI arg, this configuration would also always
include all tests. This configuration has been removed to allow
specifying a single test on the command line.
Contributors can now run specific tests with a single command such as:
$ tox -e py37 -- Tests/test_file_pdf.py::TestFilePdf.test_rgb
This makes it easy and faster to iterate on a single test failure and is
very familiar to those that have previously used tox and pytest.
When running tox or pytest with no arguments, they still discover and
runs all tests in the Tests directory.
2019-01-13 09:00:12 -08:00
Jon Dufresne
80e96b2c7b
Use bare 'raise' to re-raise exceptions
...
Slightly more concise and nicer syntax
2019-01-12 18:45:37 -08:00
Jon Dufresne
3e28ba3b7d
Python del is a statement not a function
...
https://docs.python.org/3/reference/simple_stmts.html#the-del-statement
2019-01-12 18:28:35 -08:00
Jon Dufresne
a08bfa6e9f
Make ContainerIO.isatty() return a bool, not int
...
Better follows the interface of IOBase.isatty:
https://docs.python.org/3/library/io.html#io.IOBase.isatty
2019-01-12 16:48:05 -08:00
Andrew Murray
7acaf3d6a6
Added support for I;16 modes for more transpose operations
2019-01-10 07:26:52 +11:00
Andrew Murray
4e0a73b4fa
Allow for unknown PNG chunks after image data
2019-01-08 07:21:25 +11:00
Jon Dufresne
8a05aae988
Remove unused PillowTestCase.__str__
...
With the move to pytest, the class's string method is unused. pytest has
its own test progress outputter.
2019-01-06 15:18:18 -08:00
Hugo van Kemenade
4d1be57256
Merge pull request #3540 from radarhere/fp
...
Only close __fp if not fp
2019-01-06 12:53:04 +02:00
Hugo van Kemenade
22b0f53eb9
Merge pull request #3532 from radarhere/png_load_end_idat
...
PNG: Handle IDAT chunks after image end
2019-01-05 12:08:58 +02:00
Andrew Murray
71b64dcf73
Only close __fp if not fp
2019-01-04 12:29:23 +11:00
Andrew Murray
ea2a0e4654
Handle IDAT chunks after image end
2019-01-03 19:13:19 +11:00
hugovk
9dbaf92f3e
itxt_chunks.png fails with protocol v2
2019-01-03 09:31:55 +11:00
hugovk
1b338998dc
Test a png file with iTXt chunks
2019-01-03 09:31:55 +11:00
Andrew Murray
bd7422f934
Detect whether mimetype is image/jp2 or image/jpx
2019-01-02 15:39:39 +11:00
Andrew Murray
42e2bed4a6
If SGI image is RGB mode, then apply image/rgb mimetype
2019-01-02 14:13:37 +11:00
Andrew Murray
97ae0c42b1
Detect whether mimetype is image/png or image/apng
2019-01-02 14:13:10 +11:00
Andrew Murray
671f7a392d
Allow RGBA value for P image putpixel
2018-12-31 13:37:04 +11:00
Andrew Murray
3f6282e259
Allow RGB value for P image putpixel
2018-12-31 11:35:15 +11:00
Andrew Murray
0c0f769351
Allow EPS tests that do not require Ghostscript
2018-12-30 20:50:09 +11:00