Commit Graph

944 Commits

Author SHA1 Message Date
Hugo
3a34081db5 Simplify temporary directory cleanup
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:25:55 +03:00
Hugo
84e53e3757 Simplify using subprocess.DEVNULL
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:25:42 +03:00
Andrew Murray
6cd99fc3cf
Merge branch 'master' into rm-2.7 2019-10-08 18:57:27 +11:00
Jon Dufresne
64032061c0 Move several imports to the top-level of the file
This better follows PEP 8 style guide:

https://www.python.org/dev/peps/pep-0008/#imports

> Imports are always put at the top of the file, just after any module
> comments and docstrings, and before module globals and constants.

This also avoids duplicate import code within the same file.
2019-10-07 06:28:36 -07:00
Hugo
4382413bb4 Remove redundant bytearray 2019-10-07 16:23:43 +03:00
Hugo
865b17d5cf Remove Python 2-compatibility code 2019-10-07 16:23:22 +03:00
Andrew Murray
7e3156eb17 Updated IFDRational operators 2019-10-07 14:30:59 +03:00
Hugo
538d9e2e5d Upgrade Python syntax with pyupgrade --py3-plus 2019-10-07 14:30:59 +03:00
Hugo
af770a6c55 Drop support for EOL Python 2.7 2019-10-07 14:30:59 +03:00
Andrew Murray
732eb7223f
Merge branch 'master' into rm-deprecated-qt 2019-10-06 13:35:38 +11:00
Andrew Murray
6a83d5b239
Merge pull request #4114 from radarhere/tiff_size
Removed deprecated setting of TIFF image sizes
2019-10-05 02:33:08 +10:00
Hugo van Kemenade
0a8f029971
Merge pull request #4113 from radarhere/version
Removed outdated VERSION comment
2019-10-03 22:56:12 +03:00
Hugo van Kemenade
d479572158
Changed condition to use DEBUG as a boolean (#4112)
Changed condition to use DEBUG as a boolean
2019-10-03 15:38:46 +03:00
Andrew Murray
d6ae0a99a7 Removed deprecated setting of TIFF image sizes 2019-10-03 22:12:28 +10:00
Hugo van Kemenade
7821b34924
Merge branch 'master' into rm-deprecated-qt 2019-10-03 14:14:00 +03:00
Andrew Murray
3cd7d9e4a2 Removed outdated VERSION comment 2019-10-03 20:54:55 +10:00
Andrew Murray
f61af2fed0
Merge pull request #4107 from hugovk/rm-deprecated-PILLOW_VERSION
Remove deprecated PILLOW_VERSION
2019-10-03 20:52:48 +10:00
Andrew Murray
1e6eac40fc Changed condition to use DEBUG as a boolean 2019-10-03 20:23:49 +10:00
Andrew Murray
f92f429317
Merge pull request #1730 from radarhere/frombuffer_args
Changed default frombuffer raw decoder args
2019-10-02 19:25:46 +10:00
Andrew Murray
91306dfac5
Merge pull request #4009 from radarhere/tifftags
Corrected tag types
2019-10-02 19:18:56 +10:00
Andrew Murray
94a64ea09c 7.0.0.dev0 version bump 2019-10-02 06:42:14 +10:00
Hugo
f898ccbaf8 Remove deprecated PILLOW_VERSION 2019-10-01 14:43:15 +03:00
Andrew Murray
75602d12e1 6.2.0 version bump 2019-10-01 19:23:32 +10:00
Hugo
f0a87e25a4 Drop support for EOL PyQt4 and PySide 2019-09-30 17:58:31 +03:00
Andrew Murray
b9693a51c9
Merge pull request #4103 from radarhere/dimension
Raise error if TIFF dimension is a string
2019-09-30 21:26:53 +10:00
Andrew Murray
f228d0ccbf
Merge pull request #4102 from radarhere/decompression
Added decompression bomb checks
2019-09-30 20:31:05 +10:00
Andrew Murray
9a977b975c Raise error if dimension is a string 2019-09-30 18:48:10 +10:00
Andrew Murray
eed2bfc5b4 Added decompression bomb checks 2019-09-30 18:45:13 +10:00
Andrew Murray
87c43b66a5 Corrected negative seeks 2019-09-30 18:31:18 +10:00
Hugo van Kemenade
d3ae7a1c46
Merge pull request #4088 from radarhere/fit
Do not calculate the crop width in Image.fit if it is already known
2019-09-29 12:57:29 +03:00
Andrew Murray
1809f46e0b Do not calculate the crop width if it is already known 2019-09-29 14:26:32 +10:00
nulano
17d9938ece spider labrec ceil 2019-09-27 22:10:49 +02:00
Hugo van Kemenade
310d2c9005
Add option to capture all monitors on Windows (#3950)
Add option to capture all monitors on Windows
2019-09-27 08:47:55 +03:00
nulano
5f4c1e113c add libimagequant to features.py 2019-09-27 00:34:45 +02:00
Andrew Murray
2f5e24da48 Removed warning 2019-09-25 18:52:53 +10:00
Andrew Murray
8f91eff078 Changed default frombuffer raw decoder args 2019-09-25 18:52:07 +10:00
Andrew Murray
595a8fd33c Updated warning to specify time of change 2019-09-24 20:33:02 +10:00
Hugo van Kemenade
20b6a8a57b
Merge pull request #4080 from radarhere/imageshow
Changed WindowsViewer format to PNG
2019-09-22 09:13:15 +03:00
Andrew Murray
f9236a11ce Do not seek if the file pointer is about to be closed 2019-09-21 21:54:39 +10:00
Andrew Murray
82f4a0d8f2 Changed WindowsViewer format to PNG 2019-09-21 09:11:32 +10:00
Hugo van Kemenade
736b8436e7
Use TIFF orientation (#4063)
Use TIFF orientation
2019-09-20 22:57:58 +03:00
Hugo van Kemenade
8e3c4e3658
Merge pull request #3965 from radarhere/truncated
Raise the same error if a truncated image is loaded a second time
2019-09-20 22:53:52 +03:00
nulano
6a2d8f8da0 rename parameter, add note to docs 2019-09-20 17:35:08 +02:00
Andrew Murray
0009646a41 Corrected comment [ci skip] 2019-09-16 21:06:13 +10:00
Andrew Murray
1b70a4c6b5 Use TIFF orientation 2019-09-13 22:36:26 +10:00
Hugo van Kemenade
e5f6b86413
Merge pull request #4031 from radarhere/exif
Lazily use ImageFileDirectory_v1 values from Exif
2019-09-09 20:16:24 +03:00
Andrew Murray
ef16cb8efe ImageFileDirectory_v1 does not raise KeyError 2019-09-07 18:31:23 +10:00
Andrew Murray
58d2814ab5 Corrected tag types 2019-09-06 19:33:57 +10:00
Andrew Murray
da39d40342
Merge pull request #3978 from radarhere/stroke
Added text stroking
2019-09-06 19:14:49 +10:00
Andrew Murray
e790a4066a
Renamed method
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-09-06 06:18:48 +10:00
Hugo van Kemenade
cb1ebc024b
Merge pull request #4017 from radarhere/floodfill
Do not allow floodfill to extend into negative coordinates
2019-09-05 23:00:33 +03:00
Hugo van Kemenade
572a93c86f
Corrected tag counts (#4033)
Corrected tag counts
2019-09-05 22:41:16 +03:00
Hugo van Kemenade
e980d023db
Merge pull request #3969 from radarhere/encoding
Documented more encoding values
2019-09-04 16:51:13 +03:00
Konstantin Kopachev
06e34db10b
Merge remote-tracking branch 'upstream/master' into exif-writing-fixes
# Conflicts:
#	Tests/test_file_tiff_metadata.py
2019-08-29 09:20:09 -07:00
Andrew Murray
ddcfd259cf Corrected short and long range checks 2019-08-29 19:36:46 +10:00
Andrew Murray
24d29bd11d
Merge pull request #4003 from djy0/master
Fix bug when merging identical images to GIF with a list of durations
2019-08-25 12:52:41 +10:00
Andrew Murray
2dbfabe6d5 Simplifications 2019-08-24 08:10:45 +10:00
Andrew Murray
d96f657328
Merge pull request #3998 from chadawagner/master
Fix bug in TIFF loading of BufferedReader
2019-08-23 06:25:30 +10:00
Andrew Murray
f3ed44a566 Changed the Image getexif method to return a shared Exif instance 2019-08-23 06:13:20 +10:00
Andrew Murray
4834157658 Documented OS support for saved files [ci skip] 2019-08-20 20:42:58 +10:00
Andrew Murray
7a16ef16e7 Added IptcNaaInfo tag to v2 2019-08-19 21:12:24 +10:00
Andrew Murray
f08a0966a0 Corrected tag counts 2019-08-19 21:12:16 +10:00
Andrew Murray
0b405c86be Lazily use ImageFileDirectory_v1 values from Exif 2019-08-18 23:03:43 +10:00
Andrew Murray
75fe92fa88 Updated documentation [ci skip] 2019-08-16 19:16:06 +10:00
Andrew Murray
108512eae2 Cleaned up strings 2019-08-15 20:41:48 +10:00
nulano
fa6b80fddf add option to capture all monitors on Windows 2019-08-15 20:03:33 +10:00
Andrew Murray
86c64aafd2 Formatted text [ci skip] 2019-08-12 20:43:32 +10:00
Andrew Murray
eb0a61a47e
Simplified text [ci skip]
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-08-12 20:42:27 +10:00
Andrew Murray
b307fb4808 Noted a Windows limit on opening fonts [ci skip] 2019-08-12 20:19:49 +10:00
Andrew Murray
8fb437d37f Improved ImageFont documentation [ci skip] 2019-08-12 20:04:18 +10:00
Andrew Murray
524933aa1d Lint fixes 2019-08-12 19:43:35 +10:00
Konstantin Kopachev
1b626f4d22 Fix RATIONAL and SRATIONAL boundaries when writing IFDs 2019-08-12 19:43:35 +10:00
chadawagner
597ca79b1b rewind before decode, consistent with other cases 2019-08-12 18:56:34 +10:00
chadawagner
88be36c27a check prior fp result, do not use if False 2019-08-12 18:56:34 +10:00
djy0
dc9c0dbfbe format 2019-08-12 18:54:29 +10:00
djy0
3499f50e52 format 2019-08-12 18:54:29 +10:00
djy0
fcaf27d51c Update GifImagePlugin.py 2019-08-12 18:54:29 +10:00
Andrew Murray
23872c0645 Do not allow floodfill to extend into negative coordinates 2019-08-12 06:51:16 +10:00
Andrew Murray
f93a5d0972 Added text stroking 2019-07-29 06:40:03 +10:00
Andrew Murray
dfed1424d1 Improved ImageFont documentation 2019-07-25 20:04:45 +10:00
Andrew Murray
e2ee2a30a5 Corrected tag type 2019-07-24 19:57:28 +10:00
Hugo van Kemenade
1ab5670eb1
Introduce isort to automate import ordering and formatting (#3954)
Introduce isort to automate import ordering and formatting
2019-07-16 23:02:31 +03:00
Andrew Murray
c76369ce87 Explain that encoding does not alter text 2019-07-16 19:28:54 +10:00
Andrew Murray
0427170db5 Documented more encoding values 2019-07-15 19:04:35 +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
Andrew Murray
13224bf029 Removed unused argument 2019-07-04 20:07:33 +10:00
Hugo
292b4d038c 6.2.0.dev0 version bump 2019-07-03 08:49:24 +03:00
Hugo
c5578b7fd7 6.1.0 version bump 2019-07-01 14:17:21 +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
Andrew Murray
c994b783ec
Merge branch 'master' into tiff-jpeg-quality 2019-06-30 14:03:09 +10:00
Christoph Gohlke
a70da8112d Add TIFFTAG_SAMPLEFORMAT to blocklist
The SAMPLEFORMAT tag is determined by the image format and should not be copied from legacy_ifd.
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
3e4db05249 Removed code not required by tests 2019-06-29 23:02:17 +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
119d1c927b
Merge pull request #3922 from radarhere/param
Improved parameter documentation
2019-06-28 00:25:41 +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
e319e32cec Improved parameter documentation [ci skip] 2019-06-27 22:53:46 +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
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
78d4b7f03e Fixed typos 2019-06-25 05:54:14 +10:00
David Nisson
5857bf8243 corrected args to reflect change to tile descriptors 2019-06-23 13:49:41 +10:00
David Nisson
cb7d9bcd12 updated TIFF tile descriptors to match current decoding functionality 2019-06-23 13:49:15 +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
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
2334040f56
Merge pull request #3860 from olt/non-ascii-quotes
Replace non-ascii quotes from docstring
2019-06-19 12:03:14 +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
7f86ed1e52
Merge pull request #3896 from radarhere/preview
Changed Preview application path so that it is no longer static
2019-06-19 09:08:24 +03:00
Andrew Murray
b262378632 Added mode descriptors for all I;16 modes 2019-06-12 20:33:00 +10:00
Andrew Murray
848a629784 Do not down-convert if image is LA when showing with PNG format 2019-06-12 20:17:23 +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
1ecabd83d5 Changed Preview application path so that it is no longer static 2019-06-12 02:17:07 +10:00
Andrew Murray
ca3e210313 Simplified definition of values 2019-06-12 02:12:57 +10:00
Hugo
cab7231e2a Format with Black 2019-06-11 11:42:05 +03:00
Hugo
169455f924 Refactor and format with Black 2019-06-10 18:22:46 +03:00
Hugo
53a7e35004 Format with Black 2019-06-10 18:22:46 +03:00
Andrew Murray
a94bd13791 Changed string formatting 2019-06-06 21:36:38 +10:00
Andrew Murray
4fa3016d67 Changed string formatting
Co-Authored-By: Hugo <hugovk@users.noreply.github.com>
2019-06-06 21:36:38 +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
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
65f3e44b3d
Use dict comprehension in ImageFileDirectory_v2.named() (#3872)
Use dict comprehension in ImageFileDirectory_v2.named()
2019-05-27 09:48:20 +03:00
Jon Dufresne
3f2cfb2027 Remove unnecessary numeric placeholders from format strings
Unnecessary since Python 2.7.
2019-05-26 07:07:32 -07:00
Jon Dufresne
42602b69f3 Use dict comprehension in ImageFileDirectory_v2.named() 2019-05-26 06:56:01 -07:00
Oliver Tonnhofer
26b71998d2 Replace non-ascii quotes from docstring [ci skip] 2019-05-24 12:09:14 +02: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
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
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
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
69b733d5f1 Changed if to elif 2019-05-04 23:05:07 +10:00
Andrew Murray
683768095b Removed duplicate code 2019-05-04 23:05:07 +10:00
Andrew Murray
568fc2def8 Simplified 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
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
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
Hugo
9a71c9517e
Apply suggestions from code review
Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com>
2019-04-24 06:16:15 +10:00
Andrew Murray
93b96a6cb8 Improved documentation 2019-04-21 23:27:31 +10:00
Warren Weckesser
4edfee3118 Make import from _util a relative import. 2019-04-14 14:54:36 -04: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
Riley Lahd
7443e6d36b Clean up disposal flag check 2019-04-09 08:23:59 -06:00
Andrew Murray
2274c2afc7 Fixed reading APP13 marker without Photoshop data 2019-04-05 20:02:45 +11:00
Andrew Murray
5a2ecd13dd 6.1.0.dev0 version bump 2019-04-02 15:31:07 +11:00
Andrew Murray
8aaf7ff731 6.0.0 version bump 2019-04-01 22:46:08 +11: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
Andrew Murray
7c154f52fa Replaced while with for loop 2019-04-01 11:32:51 +11:00
Andrew Murray
2a403860d1 Removed condition that was always true 2019-04-01 11:30:23 +11:00
Andrew Murray
2c09252640
Merge pull request #3658 from Glandos/fast_mpo_open
Fast MPO open
2019-03-31 12:58:07 +11:00
Andrew Murray
259a2ce2b2 Removed camelcase 2019-03-31 08:09:01 +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
64910d1921 Parse Nintendo and Fujifilm MakerNote tags 2019-03-28 21:13:12 +11:00
Andrew Murray
e6a7dc8bb4 Capitalisation 2019-03-28 21:13:12 +11:00
Hugo
9cbc4b1e3c Apply suggestions from code review
Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com>
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
e7c2828b4e
Merge pull request #3740 from radarhere/remap_palette
Corrected remap_palette documentation
2019-03-28 11:47:36 +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
e00628af3b Read EXIF data from subsequent MPO images 2019-03-28 08:32:33 +11:00
Andrew Murray
0a877a527d Speed up n_frames by skipping past the last frame already seeked 2019-03-28 08:13:47 +11:00
Andrew Murray
be80b083e5 Automatically populate _n_frames if seeking to the last frame 2019-03-28 08:13:47 +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
22d7b0495a
Merge pull request #3498 from Glandos/patch-1
Cache EXIF information
2019-03-27 17:53:54 +02:00
Hugo
90886b1888
Merge branch 'master' into imagecms-deprecations 2019-03-27 12:03:54 +02:00
Andrew Murray
75cce8d3aa
Default to "", like the others
Co-Authored-By: hugovk <hugovk@users.noreply.github.com>
2019-03-27 12:02:51 +02:00
Hugo
4ae1020e6e
Merge pull request #3729 from radarhere/spider
Improved docstring
2019-03-27 11:57:20 +02:00
Andrew Murray
4a5666f1f4 Added transparency for all PNG greyscale modes 2019-03-27 07:41:33 +11:00
Andrew Murray
9cc7e8ce95 Improved docstring 2019-03-24 22:07:19 +11:00
Glandos
edc272298b Merge branch 'fast_mpo_open' of github.com:Glandos/Pillow into fast_mpo_open 2019-03-24 09:49:06 +01:00
Glandos
b08b122c8b use default value if mpheader is not provided 2019-03-24 09:48:23 +01:00
Andrew Murray
dbf65b0890
Update src/PIL/MpoImagePlugin.py
Co-Authored-By: Glandos <bugs-github@antipoul.fr>
2019-03-23 22:11:32 +01: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
Andrew Murray
81cfede546 Corrected remap_palette documentation [ci skip] 2019-03-23 09:36:59 +11:00
Riley Lahd
4b2746fc39 Remove disposal 2 duplicate frame exemption and add true delta test 2019-03-22 08:19:01 -06:00
Jon Dufresne
deb8a7aadd Remove additional references to removed handles_eof
handles_eof was removed in 90760a5f30.
2019-03-22 05:58:22 -07: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
Andrew Murray
9bdab56689 Replaced hasattr conditions with getattr and default 2019-03-18 09:15:37 +11:00
Andrew Murray
0b62337b6f Ensure image is mutable before saving 2019-03-17 23:37:40 +11:00
Andrew Murray
fa8ecffff2 Corrected seek documentation 2019-03-17 00:00:10 +11:00
Hugo
87ddd07359
Merge pull request #3717 from radarhere/ico_condition
Removed condition that was always true
2019-03-16 12:04:11 +02: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
3749a55234 Removed condition that was always true 2019-03-15 10:46:34 +11:00
Riley Lahd
85a07bb385 Linting changes 2019-03-14 14:51:13 -06:00
Riley Lahd
53cfd19a44 Check encoder info for disposal mode 2019-03-14 14:44:15 -06:00
Riley Lahd
8a36a15ebd Force include colour table for disposal=2 gifs and pad colour table to be valid when flag is set 2019-03-14 14:41:10 -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
8bd4bbb808 implemented language parameter for multiline ImageDraw methods, updated release notes 2019-03-11 20:21:52 -07:00
Ben Yang
d5bbf01254 moved 'language' parameter to last parameter in relevant functions 2019-03-11 18:56:22 -07:00
Ben Yang
1a075bed52 added language parameter to ImageFont.FreeTypeFont.getmask() 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
Hugo
77d1c609f3
Merge pull request #3635 from radarhere/eps
Changed EPS subprocess stdout from devnull to None
2019-03-11 21:15:18 +02:00
Konstantin Kopachev
28c6f555a2
Merge remote-tracking branch 'remotes/upstream/master' into tiff-old-jpeg 2019-03-11 10:38:02 -07:00
Riley Lahd
c57bfb9a7b Merge branch 'master' of https://github.com/python-pillow/Pillow 2019-03-11 08:26:48 -06:00
Riley Lahd
583d731a96 Fix line indents for linting 2019-03-11 08:02:04 -06:00
Riley Lahd
3b74281a2f Fix line lengths and init background out of loop 2019-03-11 07:55:37 -06:00
Riley Lahd
3b1a1fbfd2 Create background image for calculating gif deltas 2019-03-11 07:41:14 -06: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
878244bf38 Fixed typo 2019-03-11 11:13:39 +11: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
Riley Lahd
4a2be2af2d Create gif frame delta by subtracting 0x0 image if disposal is mode 2 2019-03-08 15:56:31 -07:00
Riley Lahd
1f6d1be7fc Ensure disposal key exists before checking 2019-03-08 12:57:53 -07:00
Riley Lahd
ae194096d0 Allow correct delta generation for GIFs with disposal 2 (Fixes #3665) 2019-03-08 12:48:22 -07:00
Hugo
68adce2dd1
Merge pull request #3691 from radarhere/dib
Added DIB saving and loading through Image open
2019-03-08 14:56:29 +02:00
Andrew Murray
58e60510e6
Merge pull request #3549 from radarhere/mimetype
Improved get_format_mimetype logic
2019-03-08 10:06:47 +11:00
Hugo
d0172a08dd
Update src/PIL/MpoImagePlugin.py
Co-Authored-By: Glandos <bugs-github@antipoul.fr>
2019-03-07 13:22:20 +01:00
Hugo
85cc21b563
Update src/PIL/MpoImagePlugin.py
Co-Authored-By: Glandos <bugs-github@antipoul.fr>
2019-03-07 13:22:14 +01:00
Andrew Murray
b29365e8a0 Updated list of Unix utilities used to show an image [ci skip] 2019-03-07 15:24:27 +11:00
Glandos
5d8b14fc9e Cache EXIF information
In case we need to call _getexif from the outside, since it's already called while parsing.
cache the result in self.info. This is compatible with other file using _getexif, like WebP.
2019-03-06 22:05:48 +01:00
Hugo
2edab165a1 Since #2527, macOS saves to a temp PNG before showing 2019-03-06 15:57:58 +02: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
319d6f2af9 Restored newline at end of file 2019-03-06 08:06:19 +11:00
Andrew Murray
7d3b8e8cea
Merge branch 'master' into mime-types 2019-03-06 07:08:00 +11:00
Hugo
353d2a34ed
Update src/PIL/PpmImagePlugin.py
Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com>
2019-03-06 00:01:56 +11:00
pirate486743186
1d63703c54 removing dib extension 2019-03-04 15:05:14 +01:00
Andrew Murray
4be51c46eb Added mime types 2019-03-04 18:17:12 +11:00
pirate486743186
a62c825922 adding some missing mime types and extensions
for reference

https://en.wikipedia.org/wiki/BMP_file_format
https://en.wikipedia.org/wiki/ICO_(file_format)
https://en.wikipedia.org/wiki/Pcx
https://en.wikipedia.org/wiki/Netpbm_format
https://en.wikipedia.org/wiki/.tga
2019-03-04 15:44:39 +11:00
Andrew Murray
1ba774ae7f Added ImageOps exif_transpose method 2019-03-04 11:49:39 +11:00
Hugo
571aca6610
Merge pull request #3685 from radarhere/file
Renamed file variable
2019-03-03 10:15:33 +02:00
Andrew Murray
525eaf7389 Renamed file variable 2019-03-03 13:02:00 +11:00
Frédéric Chapoton
e514fbbbb1
use the already import io
instead of importing again from io (lgtm suggestion)
2019-03-02 21:19:57 +01:00
Jon Dufresne
9296e4f3a2 Merge multiple isinstance() calls to one 2019-03-02 08:24:08 -08:00
Andrew Murray
57807e9ce2
Merge pull request #3624 from hugovk/rm-VERSION
Remove deprecated VERSION
2019-03-02 11:47:59 +11:00
Hugo
df6d429789
Merge pull request #3580 from jdufresne/bytes-warning
Fix 'BytesWarning: Comparison between bytes and string' in PdfDict
2019-02-27 23:38:45 +02: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
b75210d824
Merge pull request #3572 from jdufresne/seek-constants
Replace .seek() magic numbers with io.SEEK_* constants
2019-02-27 23:30:27 +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
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
Hugo
d167f9e0bd
Merge pull request #3669 from radarhere/typo
Fixed typo
2019-02-21 18:24:15 +02: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
Hugo
cf08e21141
Merge pull request #3667 from radarhere/tifftags
Use constants for TIFF tag types
2019-02-20 22:29:21 +02:00
Hugo
78b7038a9b
Merge pull request #3555 from cgohlke/patch-1
Add TIFF compression codecs: LZMA, Zstd, WebP
2019-02-20 11:51:33 +02: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
dbc476255e Fixed typo 2019-02-19 19:49:50 +11:00
Andrew Murray
9e52fb0fe4 Use constants for tag types 2019-02-19 19:45:53 +11:00
Andrew Murray
daa8b51339
Merge pull request #3630 from jdufresne/simplify-eq
Slightly simplify Image.__eq__
2019-02-16 14:03:48 +11:00
Adrien CLERC
4a87e067a2 convert Jpeg to Mpo instead of re-reading everything 2019-02-15 22:08:31 +01:00
Adrien CLERC
ac5dd15e16 create static method to transform a Jpeg into an Mpo
This is dirty "downcasting". It just works in this special case.
2019-02-15 22:08:14 +01:00
Adrien CLERC
3a7e2e259a split _open in two parts 2019-02-15 22:07:11 +01: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