Commit Graph

1424 Commits

Author SHA1 Message Date
Hugo van Kemenade
20b8a83773
Merge pull request #5437 from radarhere/stdout 2021-05-03 11:57:46 +03:00
Andrew Murray
0f68e63793 Allow for sys.stdout.buffer to be missing 2021-05-03 18:07:05 +10:00
Hugo van Kemenade
d2f2fbacaa
Merge pull request #5426 from radarhere/undefined_zero
Fixed UNDEFINED TIFF tag of length 0 being changed in roundtrip
2021-05-03 09:07:32 +03:00
Hugo van Kemenade
2125ce8331
Merge pull request #5445 from radarhere/freetype_version
Fixed bug when checking FreeType2 version if it is not installed
2021-05-02 17:24:26 +03:00
Hugo van Kemenade
0836e388e8
Merge pull request #5459 from radarhere/pdf_float
Do not round dimensions when saving PDF
2021-05-02 11:16:34 +03:00
Hugo van Kemenade
8a8ac60817
Merge pull request #5417 from radarhere/contain
Added ImageOps contain()
2021-05-01 18:44:37 +03:00
Andrew Murray
38a520c109 Updated docstrings 2021-05-01 22:35:53 +10:00
Andrew Murray
91b3a9d6a1
Updated docstring
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2021-05-01 21:56:49 +10:00
Andrew Murray
bc935f9970 Do not round dimensions when saving PDF 2021-05-01 12:13:09 +10:00
Andrew Murray
ca3ad49de3 Fixed bug when checking FreeType2 version if it is not installed 2021-04-29 23:10:08 +10:00
Andrew Murray
b78cf8cd75 Added state methods to allow pickling of IFDRational 2021-04-29 22:47:44 +10:00
Andrew Murray
537cd7a82e Removed TIFF DPI rounding 2021-04-29 22:47:44 +10:00
Andrew Murray
fd299e36ce Reset handle when seeking backwards as well 2021-04-29 22:47:20 +10:00
Andrew Murray
ce3d69baf9 Simplified code by writing bytes instead of using wrapping to write strings 2021-04-29 21:35:57 +10:00
Andrew Murray
9c06ce044c Changed PSDraw default from sys.stdout to sys.stdout.buffer 2021-04-29 21:35:57 +10:00
Andrew Murray
fae9afe351 Replace sys.stdout with sys.stdout.buffer when saving 2021-04-29 21:35:57 +10:00
Andrew Murray
622ba122ce Added Exif load_from_fp method to get TIFF tag_v2 data 2021-04-29 21:21:55 +10:00
Andrew Murray
976d9fa347 Fixed UNDEFINED TIFF tag of length 0 being changed in roundtrip 2021-04-29 21:21:09 +10:00
Andrew Murray
2c03800824 Changed default "method" value to 4 2021-04-28 18:20:44 +10:00
Hugo van Kemenade
dc817ead76
Merge pull request #5430 from radarhere/pdf_1
Switched to saving 1-bit PDFs with DCTDecode
2021-04-25 15:29:34 +03:00
Hugo van Kemenade
6461dd63b3
Merge pull request #5429 from radarhere/ico
Use bpp from ICO header
2021-04-25 12:07:38 +03:00
Hugo van Kemenade
d3a3b6dddb
Merge pull request #5408 from radarhere/indexerror
Corrected JPEG APP14 transform value
2021-04-25 11:36:40 +03:00
Hugo van Kemenade
23efd39b99
Merge pull request #5425 from radarhere/iptc
Changed TIFF tag 33723 length to 1
2021-04-25 11:23:52 +03:00
Hugo van Kemenade
75f385ffaa
Merge pull request #5423 from radarhere/ico_documentation
Added info about mode when saving ICO for Windows
2021-04-25 11:14:31 +03:00
Hugo van Kemenade
b09a9210d4
Merge pull request #5414 from radarhere/morph
Changed ImageMorph incorrect mode errors to ValueError
2021-04-23 16:52:55 +03:00
Andrew Murray
ac1359ed5d
Merge pull request #5419 from gladiusglad/exiftags
Add EXIF tags specified in EXIF 2.32
2021-04-23 07:52:18 +10:00
Andrew Murray
d62be3e354 Switched to saving 1-bit PDFs with DCTDecode 2021-04-22 22:16:21 +10:00
Andrew Murray
900b849aa8 Use bpp from header 2021-04-22 21:18:21 +10:00
Andrew Murray
6b098a2c34 Changed TIFF tag 33723 length to 1 2021-04-21 22:37:47 +10:00
Andrew Murray
4b066e66da Added info about mode when saving for Windows [ci skip] 2021-04-20 23:58:52 +10:00
Hugo van Kemenade
bb5a34fcb0
Merge pull request #5391 from radarhere/gif_disposal
Treat previous contents of first GIF frame as transparent
2021-04-20 13:23:11 +03:00
gladiusglad
72d7d1d0ea Add EXIF tags which are part of the EXIF 2.32 specification 2021-04-20 11:01:46 +07:00
Hugo van Kemenade
d2e73b0304
Merge pull request #5411 from radarhere/resize_default
For special image modes, revert default resize resampling to NEAREST
2021-04-19 17:57:46 +03:00
Andrew Murray
40eceec70d Added contain method 2021-04-19 20:12:52 +10:00
Hugo van Kemenade
fc08a72600
Merge pull request #5400 from radarhere/mapdepth_16
Changed mode for TGA 16-bit palette to BGR;15
2021-04-18 13:00:29 +03:00
Hugo van Kemenade
50fdc151ea
Merge pull request #5396 from radarhere/mapdepth
TGA color map entry size is only 1 byte
2021-04-18 12:57:58 +03:00
Andrew Murray
7e4fd9d845 Changed incorrect mode errors to ValueError 2021-04-18 14:47:05 +10:00
Andrew Murray
7c0344bb99 For special image modes, revert default resize resampling to NEAREST 2021-04-17 12:18:42 +10:00
Andrew Murray
4351c37fc4 Corrected adobe_transform value 2021-04-15 21:49:51 +10:00
Andrew Murray
7a4bf3df0f Changed exception type to be more specific 2021-04-15 20:55:45 +10:00
Hugo van Kemenade
85d251b479
Merge pull request #5384 from radarhere/core_tags 2021-04-15 13:10:25 +03:00
Andrew Murray
a47072bcbe Treat previous contents of first frame as transparent 2021-04-15 19:01:12 +10:00
Hugo van Kemenade
2f5687f886
Merge pull request #5390 from radarhere/gif_missing_background
Use zero if GIF background color index is missing
2021-04-15 11:57:31 +03:00
Hugo van Kemenade
0cc2943aef
Merge pull request #5386 from radarhere/previous_frame_loaded
Fixed ensuring that GIF previous frame was loaded
2021-04-15 10:47:44 +03:00
Andrew Murray
4dde8109d7 Resolved FIXME by reading mandatory FITS header items 2021-04-14 22:48:27 +10:00
Andrew Murray
8be655bec6 Merge branch 'master' into core_tags 2021-04-11 12:46:37 +10:00
Andrew Murray
fc64064387 Changed mode for 16-bit palette to BGR;15 2021-04-10 22:11:20 +10:00
Andrew Murray
04df6e3bf1 mapdepth is only 1 byte 2021-04-09 21:38:28 +10:00
Andrew Murray
3cb2413066 Use zero if background color index is missing 2021-04-08 08:04:20 +10:00
Hugo van Kemenade
75c111903c
Merge pull request #5382 from radarhere/rounded_rectangle
Round down the radius in rounded_rectangle
2021-04-07 19:31:19 +03:00
Andrew Murray
d661e438f6 Fixed ensuring that previous frame was loaded 2021-04-06 19:31:51 +10:00
Andrew Murray
56dfc4a956 Added 301 and 532 to core tags 2021-04-05 19:01:13 +10:00
Andrew Murray
d06871d543 Set mode of three channel uncompressed RGB data to RGB 2021-04-05 17:58:02 +10:00
Andrew Murray
6f87faf0ee Reversed rawmode for uncompressed RGB data 2021-04-05 17:54:34 +10:00
Andrew Murray
92edc29439 Round down the radius in rounded_rectangle 2021-04-05 08:54:06 +10:00
Andrew Murray
60da129d4b Replaced register_open lambdas with _accept method for consistency 2021-04-03 21:51:28 +11:00
Andrew Murray
d4f9c6e082 Renamed register_open accept methods for consistency 2021-04-03 21:51:23 +11:00
Andrew Murray
77a8a53a94 Allow converting an image to a numpy array to raise errors 2021-04-03 13:20:58 +11:00
Hugo van Kemenade
330f77ae7a 8.3.0.dev0 version bump 2021-04-01 23:56:43 +03:00
Hugo van Kemenade
e0e353c0ef 8.2.0 version bump 2021-04-01 20:58:27 +03:00
Hugo van Kemenade
8febdad8dd Review, typos and lint 2021-04-01 17:41:46 +03:00
Eric Soroos
496245aa43 Fix BLP DOS -- CVE-2021-28678
* BlpImagePlugin did not properly check that reads after jumping to
  file offsets returned data. This could lead to a DOS where the
  decoder could be run a large number of times on empty data
* This dates to Pillow 5.1.0
2021-04-01 17:17:35 +03:00
Eric Soroos
22e9bee4ef Fix DOS in PSDImagePlugin -- CVE-2021-28675
* PSDImagePlugin did not sanity check the number of input layers and
  vs the size of the data block, this could lead to a DOS on
  Image.open prior to Image.load.
* This issue dates to the PIL fork
2021-04-01 17:17:31 +03:00
Eric Soroos
ba65f0b08e Fix Memory DOS in ImageFont
* A corrupt or specially crafted TTF font could have font metrics that
  lead to unreasonably large sizes when rendering text in
  font. ImageFont.py did not check the image size before allocating
  memory for it.
* Found with oss-fuzz
* This dates from the PIL fork
2021-04-01 17:17:27 +03:00
Eric Soroos
5a5e6db0ab Fix EPS DOS on _open -- CVE-2021-28677
* The readline used in EPS has to deal with any combination of \r and
  \n as line endings. It used an accidentally quadratic method of
  accumulating lines while looking for a line ending.
* A malicious EPS file could use this to perform a DOS of Pillow in
  the open phase, before an image was accepted for opening.
* This dates to the PIL Fork
2021-04-01 17:17:18 +03:00
Andrew Murray
e12d5042ad Adjusted docstring 2021-04-01 22:28:42 +11:00
Andrew Murray
2c8684c525 Moved getxmp() into JpegImageFile 2021-04-01 22:28:37 +11:00
Hugo van Kemenade
6812205f18
Merge pull request #5144 from UrielMaD/feature_xmp 2021-04-01 12:44:47 +03:00
Hugo van Kemenade
8c852e44f0
Merge pull request #5349 from latosha-maltba/master 2021-04-01 11:55:37 +03:00
Eric Soroos
53c80281d7 fix for crash-8115 2021-03-31 22:23:57 +02:00
Hugo van Kemenade
c54a7bb031
Merge pull request #5333 from radarhere/gif_frame_transparency 2021-03-31 18:08:11 +03:00
Andrew Murray
80878fa4c6 Merge branch 'master' into modes 2021-03-31 18:58:11 +11:00
Andrew Murray
b0b4fee796
Merge pull request #5350 from elejke/master
Add preserve_tone option to autocontrast
2021-03-30 07:59:57 +11:00
Andrew Murray
0a56d9b287
Merge branch 'master' into simplified 2021-03-29 19:37:55 +11:00
Hugo van Kemenade
b3a1de94d0
Merge pull request #5323 from radarhere/imagefilter_numpy
Only import numpy when necessary
2021-03-28 19:11:01 +03:00
Konstantin Kopachev
169bb4842f only use TIFFReadRGBA* in case of o_jpeg compression 2021-03-28 15:03:37 +02:00
Hugo van Kemenade
e405ab300b
Merge pull request #5351 from radarhere/categories 2021-03-28 14:34:50 +03:00
Andrew Murray
f799915d6f
Merge pull request #5304 from nulano/5300
Do not premultiply alpha when resizing with Image.NEAREST resampling
2021-03-28 16:02:01 +11:00
Andrew Murray
71cd97a519 Added deprecation warnings 2021-03-28 15:51:28 +11:00
Hugo van Kemenade
5e1d304769
Merge pull request #5353 from radarhere/quantize_attributes
Use quantization method attributes
2021-03-27 20:01:49 +02:00
wiredfool
3addd7df4e
Merge pull request #5062 from nulano/fribidi-link
Dynamically link FriBiDi instead of Raqm
2021-03-27 16:29:04 +00:00
nulano
49fa3656b1 do not premultiply alpha when resizing with Image.NEAREST resampling 2021-03-23 13:16:20 +01:00
elejke
2c973b4cca versionadded version fixed 2021-03-23 13:57:51 +03:00
elejke
9b8f7c2a8f versionadded directive and releasenotes added 2021-03-23 13:56:51 +03:00
Andrew Murray
4e0bc3bab6 Use quantization method attributes 2021-03-22 19:44:56 +11:00
Andrew Murray
0ff9879171 Document supported quantization methods for RGBA images 2021-03-22 19:21:31 +11:00
Andrew Murray
ab56edb49f Documented default quantization method 2021-03-22 19:18:36 +11:00
elejke
c585e6ab6b Add preserve_tone option to autocontrast 2021-03-21 21:15:13 +03:00
Hugo van Kemenade
ddcc936643
Merge pull request #5330 from radarhere/png_plte
Allow fewer PNG palette entries than the bit depth maximum when saving
2021-03-21 17:31:35 +02:00
Latosha Maltba
bb88d8d017 Add support to use GraphicsMagick's "gm display" as viewer 2021-03-21 14:36:18 +00:00
Hugo van Kemenade
688e6f163f
Merge pull request #5338 from radarhere/webp_save_duration
Use duration from info dictionary when saving WebP
2021-03-21 11:35:28 +02:00
Andrew Murray
754752e78f Allow fewer palette entries than the bit depth maximum 2021-03-21 09:22:01 +11:00
Hugo van Kemenade
82b2f4aa36
Merge pull request #5326 from radarhere/gif_disposal
Improved efficiency when creating GIF disposal images
2021-03-20 12:45:34 +02:00
Hugo van Kemenade
5a209081b2
Merge pull request #4947 from radarhere/exif 2021-03-19 21:26:33 +02:00
Andrew Murray
298600381f Replaced tiff_deflate with tiff_adobe_deflate compression when saving 2021-03-19 12:00:29 +11:00
Andrew Murray
1d8c5a820c Use duration from info dictionary when saving 2021-03-17 20:37:31 +11:00
Andrew Murray
b216b367ac Only set info transparency on first frame 2021-03-17 00:24:57 +11:00
Glenn Maynard
18854dcf14 GIF: Handle GIF transparency in the decoder.
Remove the special case for disposal_method == 1 and handle GIF
transparency by telling the decoder the transparent index.
2021-03-16 23:17:28 +11:00
Glenn Maynard
a4a314f765 GIF: Support transparency in the native decoder.
Allow the transparency index to be passed to the native decoder.  If not
-1, pixels with this index will be left at their previous value.

This only adds the decoder support and isn't active yet.
2021-03-16 23:17:12 +11:00
Andrew Murray
36a4b055bb Updated comments 2021-03-15 12:50:30 +11:00
Andrew Murray
68719fe6ea
Merge branch 'master' into exif 2021-03-15 12:41:45 +11:00
Andrew Murray
c52b45df62 Removed automatic retrieval of GPS IFD 2021-03-15 12:33:06 +11:00
Hugo van Kemenade
1c086c65d4
Merge pull request #5321 from radarhere/tiff_icc_profile
Save ICC profile from TIFF encoderinfo
2021-03-14 10:42:51 +02:00
Andrew Murray
2f84f633e3 Create disposal image at the destination size, instead of cropping 2021-03-14 13:40:55 +11:00
Andrew Murray
16dbffc3a8 _crop already makes a copy of the image 2021-03-14 13:31:16 +11:00
Andrew Murray
188d4f6b6a Only import numpy when necessary 2021-03-12 12:03:48 +11:00
Andrew Murray
f42d6cf1ac Save ICC profile from TIFF encoderinfo 2021-03-10 20:16:49 +11:00
Andrew Murray
e54880c652 Moved RGB fix inside ImageQt class 2021-03-10 13:17:19 +11:00
Hugo van Kemenade
3225e39e9a
Merge branch 'master' into alpha_composite 2021-03-08 14:16:46 +02:00
Hugo van Kemenade
d9e4424a7f
Merge pull request #5260 from radarhere/imageqt_exclusive_fp
Ensure file is closed if it is opened by ImageQt.ImageQt
2021-03-08 14:13:48 +02:00
Andrew Murray
e7f5bb1831 Ensure file is closed if it is opened by ImageQt.ImageQt 2021-03-08 20:38:03 +11:00
Andrew Murray
9ce3eba7eb Only draw each pixel once 2021-03-08 19:54:03 +11:00
Andrew Murray
f5d49f4f61 Added rounded_rectangle method 2021-03-08 19:53:59 +11:00
Hugo van Kemenade
6108596ff8
Merge pull request #5289 from radarhere/ipythonviewer 2021-03-07 14:26:50 +02:00
Hugo van Kemenade
f15f573e51
Merge pull request #5224 from radarhere/mapper 2021-03-07 11:51:46 +02:00
Hugo van Kemenade
f9b830f058
Merge pull request #5214 from radarhere/pcx
Handle PCX images with an odd stride
2021-03-07 11:41:14 +02:00
Hugo van Kemenade
95986f38da
Merge pull request #5168 from radarhere/mpo 2021-03-07 11:38:36 +02:00
Andrew Murray
ca204ba04f Removed Image._MODEINFO 2021-03-07 14:21:27 +11:00
Andrew Murray
e437a8f981 Do not edit text of mode strings 2021-03-07 13:14:07 +11:00
Andrew Murray
8206f14419 Simplified code 2021-03-06 21:44:31 +11:00
Andrew Murray
690cf9ebe2 Allow alpha_composite destination to be negative 2021-03-06 20:54:21 +11:00
Eric Soroos
480f6819b5 Fix Memory DOS in Icns, Ico and Blp Image Plugins
Some container plugins that could contain images of other formats,
such as the ICNS format, did not properly check the reported size of
the contained image. These images could cause arbitrariliy large
memory allocations.

This is fixed for all locations where individual *ImageFile classes
are created without going through the usual Image.open method.
2021-03-06 10:19:14 +11:00
Andrew Murray
7b09463809 Added IPythonViewer docstring 2021-03-04 08:56:49 +11:00
Andrew Murray
f067fe4c05 Added import alias for clarity 2021-03-04 08:56:03 +11:00
Andrew Murray
346bfc9537 Added IPythonViewer 2021-03-04 08:55:24 +11:00
Hugo van Kemenade
3bce145966 Use more specific regex chars to prevent ReDoS
* CVE-2021-25292
2021-03-01 19:04:57 +11:00
Andrew Murray
5f92636bd0 Removed comment 2021-02-27 00:33:23 +11:00
Andrew Murray
e763f8f2be Save interop IFD when converting Exif to bytes 2021-02-22 07:47:59 +11:00
Andrew Murray
b25bc40009 Simplified code
Co-authored-by: Konstantin Kopachev <kkopachev@popsugar.com>
2021-02-22 07:47:05 +11:00
Andrew Murray
4b14f0102d Save base IFDs when converting Exif to bytes 2021-02-22 07:47:05 +11:00
Andrew Murray
faf8fad76d Stopped flattening EXIF IFD into getexif() 2021-02-22 07:47:05 +11:00
Andrew Murray
223b05a2ea Corrected docstring 2021-02-16 22:33:17 +11:00
Andrew Murray
57d6e8ca43 Added PyQt6 support 2021-02-10 21:12:32 +11:00
Andrew Murray
441d75aa28 Updated docstring 2021-02-09 19:14:57 +11:00
Andrew Murray
bc0c0cb11a
Merge pull request #5250 from Piolie/open_formats_case
Changed Image.open formats parameter to be case-insensitive
2021-02-08 18:19:02 +11:00
Andrew Murray
9b56833300
Merge branch 'master' into fribidi-link 2021-02-07 16:02:16 +11:00
Andrew Murray
587e073dac Moved case transformation before initialization check 2021-02-05 20:28:34 +11:00
Piolie
0c1675a143 Make formats parameter in Image.open accept aNy cAsE 2021-02-04 22:47:53 -03:00
Hugo van Kemenade
54f12f8aad
Merge pull request #5216 from radarhere/tk
Deprecate Tk/Tcl 8.4, to be removed in Pillow 10 (2023-01-02)
2021-02-02 15:00:15 +02:00
Andrew Murray
c10bf8d9a7 Improved docstring [ci skip] 2021-01-31 13:14:14 +11:00
Andrew Murray
f2f92d22d1 Do not use "use built-in mapper WIN32 only" 2021-01-30 11:23:24 +11:00
Andrew Murray
428a62c696
Merge pull request #5223 from Bitblade/master
Documentation error: Wrong threshold in conversion from L to 1
2021-01-27 17:51:10 +11:00
Andrew Murray
c9740ab7e3 Deprecate Tk/Tcl 8.4, to be removed in Pillow 10 (2023-01-02) 2021-01-26 18:14:28 +11:00
Andrew Murray
cf98f178ad Added tk version 2021-01-26 08:01:26 +11:00
Mark Laagland
e6ff82b9ab Small fix for convert documentation of Image.py
[ci skip]
2021-01-24 22:49:27 +01:00
Andrew Murray
ac31061f22 Handle PCX images with an odd stride 2021-01-21 19:29:11 +11:00
Andrew Murray
6f236284b0 Corrected CVE number 2021-01-20 20:43:00 +11:00
Andrew Murray
4eccadced4 Document that getcolors() returns colors in the image mode [ci skip] 2021-01-09 21:30:16 +11:00
nulano
5cd688fc82 add option to statically link fribidi, version info 2021-01-05 00:06:29 +11:00
Uriel Martinez
7f5dbb7c9b
Update src/PIL/Image.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-01-02 21:57:24 -06:00