Commit Graph

2096 Commits

Author SHA1 Message Date
Andrew Murray
902e3812a8 Use ternary operator 2022-02-15 22:30:33 +11:00
Andrew Murray
3bbcad1ad2 Avoid circular dependency 2022-02-15 22:30:12 +11:00
Andrew Murray
bba493d702 Replaced absolute PIL import with relative import 2022-02-15 21:50:20 +11:00
Andrew Murray
a2313be894 Merged _MODE_CONV typ into ImageMode as typestr 2022-02-15 18:01:02 +11:00
Andrew Murray
95c17a8334 Replaced _MODE_CONV extra with bands length 2022-02-15 17:39:56 +11:00
Andrew Murray
dfdb17671d Added FITS reading 2022-02-15 11:22:46 +11:00
Andrew Murray
9a4106c14f
Merge branch 'main' into enum 2022-02-15 08:12:28 +11:00
Andrew Murray
9cdb0508b6 Attach RGBA palettes from putpalette() when suitable 2022-02-14 20:28:47 +11:00
Andrew Murray
993bb23ce0 Do not manually remove temporary files on Unix in get_command() 2022-02-14 09:33:58 +11:00
Andrew Murray
e19447cbbb Do not manually remove temporary files on Unix 2022-02-12 08:04:40 +11:00
Andrew Murray
7f8df9d712 Use "title" argument for display 2022-02-12 07:49:27 +11:00
Andrew Murray
70a17080e4 Updated return values to match docstring 2022-02-12 07:49:20 +11:00
mergify[bot]
89768e3d57
Merge pull request #6042 from radarhere/tiff_bits
Clarify code and comments
2022-02-10 21:20:22 +00:00
Hugo van Kemenade
f5fab326fa
Merge pull request #6030 from radarhere/photoshopblocks
Added get_photoshop_blocks() to parse Photoshop TIFF tag
2022-02-10 09:40:17 +02:00
Hugo van Kemenade
6520d44496
Merge pull request #6041 from mikhail-iurkov/tiff_bits
Drop excess values in BITSPERSAMPLE
2022-02-10 09:32:34 +02:00
Andrew Murray
2ae70f144f Added get_photoshop_blocks() to parse Photoshop tag 2022-02-10 12:00:23 +11:00
Andrew Murray
1f82202998 Adjusted comments 2022-02-10 11:08:25 +11:00
Andrew Murray
b38a67fa12
Merge branch 'main' into enum 2022-02-10 09:52:24 +11:00
Mikhail Iurkov
bb5a090f60
Drop excess values in BITSPERSAMPLE 2022-02-09 16:40:43 +03:00
mergify[bot]
1c679a93f9
Merge pull request #6040 from hugovk/fix-docs-return
Fix return in docs
2022-02-09 13:19:48 +00:00
Hugo van Kemenade
601c9d8515 Fix return in docs 2022-02-09 14:28:43 +02:00
nulano
a278e0aa65
issue warning if Raqm layout is requested, but Raqm is not available 2022-02-07 23:57:35 +00:00
Andrew Murray
ecb64fe210 Allow 1 mode images to be inverted 2022-02-08 09:12:01 +11:00
Andrew Murray
3114064b16 Removed redundant try catch 2022-02-07 21:06:36 +11:00
Andrew Murray
c6b81d5989 Ensure Tkinter hook is activated for getimage() 2022-02-07 19:15:25 +11:00
Andrew Murray
ed283d15ca
Merge pull request #6010 from radarhere/show_file
In show_file, use os.remove to remove temporary images
2022-02-03 09:41:20 +11:00
Andrew Murray
10c4f75aaa Added delay after opening image with xdg-open 2022-02-03 08:58:12 +11:00
Andrew Murray
143032103c Updated formatting
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2022-02-03 08:48:43 +11:00
Andrew Murray
8da80130db In show_file, use os.remove to remove temporary images 2022-02-03 08:48:36 +11:00
Andrew Murray
dd46100bdc Restrict builtins within lambdas for ImageMath.eval 2022-02-03 08:42:53 +11:00
Andrew Murray
fb7edfda68 Improved consistency of returning an image access object from load() 2022-02-02 11:49:31 +11:00
Luke Granger-Brown
a13ba2ee3b Support Python distributions where _tkinter is compiled in
In some cases, the Tk library may have been directly compiled in or
bundled into the main executable by the time Pillow runs, in which case
__file__ isn't available (nor would it make sense to use, anyway).

If __file__ is missing, then set the library path to None and rely on
our Tk loader being able to find the function pointers within the main
binary - we know we probably have it because we've managed to import it
already.
2022-02-01 19:57:01 +00:00
Andrew Murray
1d91f6dce5 Document when file argument will be removed 2022-01-26 09:08:41 +11:00
Andrew Murray
31aa2ad98c Removed unused variables 2022-01-24 11:06:41 +11:00
Hugo van Kemenade
0a49ec1cc0
Merge pull request #5891 from shamrin/stable-jupyter-text-output
Keep IPython/Jupyter text/plain output stable
2022-01-23 10:29:50 +02:00
Andrew Murray
591231bbb4
Changed error wording
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2022-01-21 08:19:27 +11:00
Andrew Murray
67944cedc7 Always save with contiguous planar configuration 2022-01-18 19:40:57 +11:00
Andrew Murray
af90dd773b Raise an error when performing a negative crop 2022-01-18 16:38:00 +11:00
Andrew Murray
1be53c8bb3 Removed debugging 2022-01-18 09:08:50 +11:00
Hugo van Kemenade
95c7083063
Merge pull request #5959 from radarhere/imageshow_file 2022-01-16 14:41:28 +02:00
Andrew Murray
5df83a57ff Documented deprecation 2022-01-16 11:38:34 +11:00
Andrew Murray
86944abbab Deprecated show_file "file" argument in favour of "path" 2022-01-15 16:08:37 +11:00
Andrew Murray
ed8073e846 Deprecated constants in favour of enums 2022-01-15 10:07:07 +11:00
Andrew Murray
f8e4e9c2dd Added enums 2022-01-15 09:02:31 +11:00
Andrew Murray
a9441a475d Added IREC header entry for use with Bio-formats library 2022-01-12 17:29:25 +11:00
Andrew Murray
ba86d90a00 Simplified code 2022-01-12 15:17:04 +11:00
Andrew Murray
01e7b3943d Simplified code 2022-01-11 13:50:57 +11:00
Andrew Murray
9c6df29b4d Removed unreachable error 2022-01-11 13:50:57 +11:00
Andrew Murray
90f3f72e19 Removed unused constant 2022-01-11 13:30:51 +11:00
Andrew Murray
9a9afd36b4
Merge pull request #5935 from FirefoxMetzger/add-missing-ImageModes
Add missing ImageModes
2022-01-11 11:56:16 +11:00
Sebastian Wallkötter
11dd543837 remove mode BGR 2022-01-10 08:17:53 +01:00
Andrew Murray
6e5e45a9ec Ensure duplicated file pointer is closed 2022-01-09 16:10:12 +11:00
Andrew Murray
b5160591bc Return an empty bytestring from tobytes() for an empty image 2022-01-07 16:29:38 +11:00
Sebastian Wallkötter
f40c005399 Add missing ImageModes
The modes are mentioned in the docs, but weren't part of ImageMode.
2022-01-06 07:58:57 +01:00
Hugo van Kemenade
e077229d7a Remove readonly from Image.__eq__ 2022-01-04 11:32:15 +02:00
Andrew Murray
05b63366df 9.1.0.dev0 version bump 2022-01-03 09:22:31 +11:00
Andrew Murray
82541b6dec 9.0.0 version bump 2022-01-02 20:51:23 +11:00
Andrew Murray
8531b01d6c Restrict builtins for ImageMath.eval 2022-01-02 17:23:49 +11:00
Andrew Murray
1059eb5376 If appended EOI did not work, do not keep trying 2022-01-01 21:04:32 +11:00
Andrew Murray
7370a0b1cf Remove consecutive duplicates that only differ by their offset 2022-01-01 14:54:23 +11:00
Andrew Murray
8e9da1559b Lint fix 2021-12-30 14:47:59 +11:00
Andrew Murray
cdb0fba2ed Removed redundant part of condition 2021-12-30 11:45:40 +11:00
Hugo van Kemenade
fccc261386
Merge pull request #5899 from radarhere/bmp
Ensure that BMP pixel data offset does not ignore palette
2021-12-28 10:10:08 +02:00
Hugo van Kemenade
17ec8b5c98
Merge pull request #5879 from radarhere/quantize
Limit quantized palette to number of colors
2021-12-28 10:08:54 +02:00
Hugo van Kemenade
f560707def
Merge pull request #5859 from radarhere/saving_rgba_gif
When saving RGBA to GIF, make use of first transparent palette entry
2021-12-28 10:04:10 +02:00
Hugo van Kemenade
1806cf5607
Merge pull request #5848 from radarhere/sampleformat
Pass SAMPLEFORMAT to libtiff
2021-12-28 10:03:16 +02:00
Hugo van Kemenade
8e631e4cd9
Merge pull request #5910 from radarhere/putdata
Improved putdata() documentation and data handling
2021-12-28 09:53:33 +02:00
Hugo van Kemenade
dd8049363e Use more specific regex chars to prevent ReDoS - exclude carriage return 2021-12-28 10:22:39 +11:00
Andrew Murray
020308a7be Clarified that the sequence object for putdata() should be flattened 2021-12-28 09:38:41 +11:00
Andrew Murray
0af91de452 Image.NONE is only used for resampling and dithers 2021-12-27 12:27:06 +11:00
Andrew Murray
ff723e45ab Ensure that pixel data offset does not ignore palette 2021-12-21 12:43:50 +11:00
mihail
5cca90a37c
Add: XDGViewer which uses xdg-open
Synopsis

xdg-open { file | URL }

xdg-open { --help | --manual | --version }

Use 'man xdg-open' or 'xdg-open --manual' for additional info.
2021-12-20 12:09:07 +03:00
pre-commit-ci[bot]
56d630294c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2021-12-15 20:39:43 +00:00
Alexey Shamrin
b3cb55f823
keep IPython/Jupyter text/plain output stable 2021-12-15 22:35:32 +02:00
Andrew Murray
768c189a29 Correct image by scaling pixels 2021-12-15 06:39:05 +11:00
Christopher Bruns
e87745d9ec Check if installed Qt version supports Format_Grayscale16 2021-12-15 06:39:05 +11:00
Christopher Bruns
6aca23cfa3 Support 16-bit grayscale ImageQt conversion. 2021-12-15 06:39:05 +11:00
Andrew Murray
ec198899f6 Limit quantized palette to number of colors 2021-12-11 16:23:37 +11:00
Andrew Murray
5c05fe4d9b Fixed raising OSError in _safe_read when size is greater than SAFEBLOCK 2021-12-07 11:40:44 +11:00
Andrew Murray
0e10a5cc7b When saving RGBA, make use of first transparent palette entry 2021-12-07 06:37:01 +11:00
Andrew Murray
6337428df1 Loading transparent pixels in C from subsequent GIF frames is no longer a problem 2021-11-29 17:49:12 +11:00
Andrew Murray
b383a175be Convert subsequent GIF frames to RGB or RGBA 2021-11-29 17:49:06 +11:00
Andrew Murray
ab6efcb925
Merge pull request #5665 from infmagic2047/master
Do not return in ImageFile when saving to stdout
2021-11-26 00:12:40 +11:00
Andrew Murray
cea84e6b2d Improved explanation of fromarray "mode" parameter 2021-11-23 20:35:35 +11:00
Andrew Murray
2e9193a485 Pass SAMPLEFORMAT to libtiff 2021-11-23 08:10:18 +11:00
Hugo van Kemenade
c7a90551ae
Merge pull request #5829 from radarhere/tga_orientation 2021-11-21 14:14:41 +02:00
Hugo van Kemenade
877d97e858
Merge pull request #5845 from radarhere/icns 2021-11-21 14:12:01 +02:00
Hugo van Kemenade
b692faf596
Merge pull request #5839 from radarhere/tiff 2021-11-21 13:59:12 +02:00
Hugo van Kemenade
c857366d39
Merge pull request #5694 from radarhere/polygon_width 2021-11-21 13:58:18 +02:00
Andrew Murray
838c8efa25 Corrected file length in header 2021-11-20 14:17:42 +11:00
Andrew Murray
83c42fcabd Do not redeclare class each time when converting to NumPy 2021-11-20 10:13:10 +11:00
Andrew Murray
7d4a8668b1 Block tile TIFF tags when saving 2021-11-18 22:01:53 +11:00
Andrew Murray
90a52d3c0d Added width argument to polygon 2021-11-16 22:02:54 +11:00
Andrew Murray
fc90a9285a Added support for top right and bottom right orientations 2021-11-11 21:53:28 +11:00
Hugo van Kemenade
18d34b287f Add support for pickling TrueType fonts 2021-11-10 14:34:20 +02:00
Andrew Murray
669ba570d5
Merge branch 'main' into rm-3.6 2021-11-04 08:27:36 +11:00
Andrew Murray
97ed2ecd97 Changed URLs to https 2021-10-27 22:51:54 +11:00
Hugo van Kemenade
36eb97d3c0
Merge branch 'main' into rm-3.6 2021-10-25 12:05:05 +03:00
Andrew Murray
993da90316
Merge pull request #5779 from hugovk/update-expected-pillow-10-release-date
Update expected Pillow 10 release date: 2023-07-01
2021-10-25 12:57:20 +11:00
Ondrej Baranovič
954baa1e73
document #5788 2021-10-23 10:51:46 +02:00
Andrew Murray
b3e690a270 Use title for display 2021-10-23 15:53:08 +11:00
Hugo van Kemenade
31a96b9c9b Upgrade Python syntax with pyupgrade --py36-plus and format with Black 2021-10-19 15:34:52 +03:00
Hugo van Kemenade
716a0baf74 Drop support for EOL Python 3.6 2021-10-19 15:34:52 +03:00
Andrew Murray
cf757e6f77
Merge pull request #5777 from hugovk/rm-freetype-2.7
Remove support for FreeType 2.7 and older
2021-10-19 19:35:06 +11:00
Hugo van Kemenade
6e310e3e2e Update expected Pillow 10 release date: 2023-07-01 2021-10-18 15:48:49 +03:00
Hugo van Kemenade
b4bd8943fa
Merge pull request #5775 from hugovk/mingw-qt6 2021-10-18 12:38:14 +03:00
Hugo van Kemenade
606b5ae1e5 Remove support for FreeType 2.7 and older 2021-10-18 09:29:53 +03:00
Andrew Murray
83864b01cf Removed Image.show command parameter 2021-10-18 11:08:51 +11:00
Andrew Murray
499040491b Removed Image._showxv 2021-10-18 11:06:06 +11:00
Andrew Murray
e444e7ab6d Removed ImageFile.raise_ioerror 2021-10-18 11:06:02 +11:00
Andrew Murray
cd50d468ba Removed PILLOW_VERSION 2021-10-18 11:05:53 +11:00
Andrew Murray
43ceaa1614 Use QIODevice instead of QIODeviceBase 2021-10-17 13:14:47 +11:00
Hugo van Kemenade
d1148378bc Fix for PyQt6 2021-10-16 23:04:43 +03:00
Hugo van Kemenade
d7b64a6621 9.0.0.dev0 version bump 2021-10-15 11:17:23 +03:00
Hugo van Kemenade
40e7ff6226 8.4.0 version bump 2021-10-15 09:27:22 +03:00
Andrew Murray
0b7fcbbc93
Merge branch 'master' into patch-2 2021-10-13 23:50:23 +11:00
Hugo van Kemenade
b34430b402
Merge pull request #5750 from radarhere/zero
Fixed Python errors when saving a (0, 0) TIFF image
2021-10-13 14:29:12 +03:00
Andrew Murray
174b4893f3 Prefer global transparency for disposal method 2 2021-10-12 09:45:52 +11:00
Andrew Murray
8de429ecb9 Fixed Python errors when saving a (0, 0) TIFF image 2021-10-08 13:12:21 +11:00
Andrew Murray
515314b85c Updated capitalization 2021-10-02 09:50:27 +10:00
Miloš Komarčević
63879f04b1
Make TIFF strip size configurable 2021-10-01 13:50:02 +02:00
pre-commit-ci[bot]
99428bb878 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2021-09-20 12:22:11 +00:00
Andrew Murray
312ed69c01 Commented unused method 2021-09-20 22:17:06 +10:00
Andrew Murray
8264aa81d9
Updated capitalisation
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2021-09-11 19:48:43 +10:00
Andrew Murray
c39e545949 Updated docstring 2021-09-11 19:24:24 +10:00
Andrew Murray
3f3828040b
Merge branch 'master' into tiff_exif 2021-09-07 06:33:37 +10:00
Hugo van Kemenade
869b786db1
Merge pull request #5696 from radarhere/quantize_palette 2021-09-06 15:42:12 +03:00
Hugo van Kemenade
a918186d92
Merge pull request #5667 from radarhere/ico
Read ICO AND mask from end
2021-09-05 14:30:10 +03:00
Hugo van Kemenade
1dc6564eb7 Raise ValueError if color specifier is too long 2021-09-02 15:02:57 +03:00
Andrew Murray
0dba28613b Copy Python palette to new image in quantize() 2021-08-31 00:33:10 +10:00
Hugo van Kemenade
57c672efcc
Merge pull request #5654 from radarhere/ihdr 2021-08-24 15:08:23 +03:00
Hugo van Kemenade
4c7777c425
Merge pull request #5599 from radarhere/palette
Updates for ImagePalette channel order
2021-08-24 14:52:46 +03:00
Hugo van Kemenade
d5d6c3ba8c
Merge pull request #5611 from radarhere/apng_info 2021-08-24 11:59:38 +03:00
Hugo van Kemenade
2d01f7d022
Merge pull request #5655 from radarhere/whiteiszero
Allow saving 1 and L mode TIFF with PhotometricInterpretation 0
2021-08-14 20:41:08 +03:00
Hugo van Kemenade
a7f5b25dc3
Merge pull request #5603 from radarhere/gif_palette
For GIF save_all with palette, do not include palette with each frame
2021-08-13 13:20:57 +03:00
Hugo van Kemenade
ea4263c448
Merge pull request #5634 from radarhere/putpalette
putpalette() rawmode may be modes that can be unpacked to RGB
2021-08-13 13:19:50 +03:00
Hugo van Kemenade
3d35e5458f
Merge pull request #5606 from radarhere/convert_transparency 2021-08-13 13:18:39 +03:00
Hugo van Kemenade
afebfcb096
Merge pull request #5647 from radarhere/transform_palette 2021-08-13 13:18:00 +03:00
Andrew Murray
98aa0f10ad pre-commit autoupdate --freeze 2021-08-12 21:50:09 +10:00
Andrew Murray
cbdc751628 Read AND mask from end 2021-08-10 07:04:36 +10:00
Yutao Yuan
f55ccd9563 Remove stdout check in ImageFile._save 2021-08-09 23:13:54 +08:00
mergify[bot]
43785a3201
Merge pull request #5620 from radarhere/eps
Added "transparency" argument to EpsImagePlugin load()
2021-08-06 15:32:13 +00:00
Hugo van Kemenade
2e5ce839ba
Merge pull request #5633 from radarhere/save_path
Corrected pathlib.Path detection when saving
2021-08-06 17:15:15 +03:00
Andrew Murray
9bf7dae03d Allow saving L mode TIFF with PhotometricInterpretation 0 2021-08-06 23:50:52 +10:00
Andrew Murray
4063deddac
Merge branch 'master' into eps 2021-08-06 23:32:02 +10:00
Andrew Murray
caecb3a772 Merge branch 'master' into wal 2021-08-06 22:03:51 +10:00
Andrew Murray
929c561937 Merge branch 'master' into eps 2021-08-06 22:03:12 +10:00
Hugo van Kemenade
3307bf691f
Merge pull request #5594 from radarhere/convert
If default conversion from P is RGB with transparency, convert to RGBA
2021-08-06 14:08:38 +03:00
Andrew Murray
2dab52b8a8 Allow saving 1 mode TIFF with PhotometricInterpretation 0 2021-08-05 23:27:08 +10:00
Andrew Murray
6596e31605 Determine mode purely from ihdr header box 2021-08-05 01:06:01 +10:00
Hugo van Kemenade
5a9dacfc26
Merge pull request #5646 from radarhere/expand 2021-08-02 20:13:34 +03:00
Andrew Murray
6406dabf29
Merge pull request #5568 from rogermb/jpeg2000-resolution
Add support for reading DPI information from JPEG2000 images
2021-08-03 00:06:13 +10:00
Andrew Murray
02d92a594c Merge branch 'master' into expand 2021-08-02 23:39:16 +10:00
Andrew Murray
dab5721c34 Favour integer operations when calculating DPI 2021-08-02 22:09:35 +10:00
Alexander Karpinsky
a312b0e9d0
Merge pull request #5639 from uploadcare/jpeg-safe-dpi-read
Add TypeError handling to pass corrupted DPI value in EXIF
2021-08-02 14:34:54 +03:00
Andrew Murray
8ab06b4dac Updated comment [ci skip] 2021-08-01 21:06:33 +10:00
Andrew Murray
8828080868 Removed unreachable code 2021-08-01 18:39:54 +10:00
Andrew Murray
0c600f1d88 Prevent reading past end of file pointer even if box length allows it 2021-08-01 18:39:47 +10:00
Andrew Murray
3ee5a9b094 Stop reading from "res " after all information is extracted 2021-08-01 18:39:35 +10:00
Andrew Murray
ae54838146 If DPI is invalid, ignore it instead of raising an error 2021-08-01 18:38:56 +10:00
Andrew Murray
d1815377b8 Copy palette to new image in transform() 2021-07-31 22:49:16 +10:00
Andrew Murray
61419b54d6
Merge pull request #5645 from farizrahman4u/patch-2
Do not close file pointer in SGI save handler
2021-07-31 13:53:37 +10:00
Andrew Murray
9125631ff0 Added flush 2021-07-30 20:29:22 +10:00
Andrew Murray
438c3cc097 Speed up rotating square images by 90 or 270 degrees 2021-07-30 19:57:09 +10:00
Fariz Rahman
feb3103bfd
SGI save handler should not close output stream 2021-07-30 00:57:00 +04:00
Andrew Murray
a9372d5cf0 Fixed generated palettes 2021-07-29 16:20:20 +10:00
Andrew Murray
d0a30ec369 Updated documentation 2021-07-29 16:20:20 +10:00
Andrew Murray
cf275737ee Do not rearrange palette channels 2021-07-29 16:20:20 +10:00
Andrew Murray
41b968ad10 Deprecate ImagePalette size parameter 2021-07-29 16:19:53 +10:00
Hugo van Kemenade
faaeee1e7d
Merge pull request #5601 from radarhere/webp_icc_profile
Allow saving WebP with icc_profile None
2021-07-28 13:10:36 +03:00
Hugo van Kemenade
4e4d580dfd
Merge pull request #5597 from radarhere/ycbcr_tiff
Added tags when saving YCbCr TIFF
2021-07-28 13:08:54 +03:00
Hugo van Kemenade
5f39e8e60a
Merge pull request #5613 from radarhere/psd 2021-07-28 12:53:24 +03:00
Alexander Karpinsky
3abe5e884b Add TypeError handling to pass corrupted dpi value in exif 2021-07-26 16:13:01 +03:00
Andrew Murray
a43d46e87a Corrected size parameter documentation [ci skip] 2021-07-26 22:53:39 +10:00
Hugo van Kemenade
567fbaf782
Merge pull request #5615 from radarhere/expand
Fixed ImageOps expand with tuple border on P image
2021-07-26 11:33:26 +03:00
Andrew Murray
89ab20fd15 putpalette() rawmode may be modes that can be unpacked to RGB 2021-07-25 16:32:59 +10:00
Andrew Murray
4038a287ee Corrected pathlib.Path detection when saving 2021-07-24 14:21:33 +10:00
Andrew Murray
1d73a483f4 Added "transparency" argument to load() 2021-07-19 09:08:45 +10:00
Andrew Murray
7484bb08b4
Merge pull request #5588 from kmilos/patch-2
Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression
2021-07-18 18:17:25 +10:00
Andrew Murray
a9fccfada1 Added WalImageFile class 2021-07-18 12:35:27 +10:00
Andrew Murray
0a7af10827 Instead of drawing border, calculate palette index before image creation in expand() 2021-07-16 20:58:32 +10:00
Meithal
a139b97845 Cleanup 2021-07-15 20:48:47 +02:00
Meithal
3fbc9eb229 self.mode = "BGRA" wasn't correct and captured by #affa059 2021-07-15 20:33:35 +02:00
Andrew Murray
a46f5cdd0a PSD layer count may be negative 2021-07-15 19:38:26 +10:00
Andrew Murray
e766ddbc39 Removed unnecessary code 2021-07-13 23:02:27 +10:00
Andrew Murray
63c3b26f6a Fixed using info dictionary when writing multiple frames 2021-07-13 23:02:23 +10:00
Andrew Murray
0521ac71e0 Renamed variable 2021-07-13 18:47:48 +10:00
thak1411
45aec95717 Fixed round error in saving apng file 2021-07-13 12:07:36 +09:00
Andrew Murray
97e0cb85ee Keep transparency when converting from P to LA or PA 2021-07-12 22:55:12 +10:00
Andrew Murray
622a1cd542 Changed URLs to HTTPS 2021-07-12 21:00:36 +10:00
Andrew Murray
43ea81c6db For save_all with palette, do not include palette with each frame 2021-07-11 22:52:32 +10:00
Andrew Murray
b45fdd0817 Allow saving WebP with icc_profile None 2021-07-10 15:15:10 +10:00
Andrew Murray
5cdcc2cf64 Added tags when saving YCbCr TIFF 2021-07-10 01:20:36 +10:00
Andrew Murray
fdfa9e8521 If default conversion from P is RGB with transparency, convert to RGBA 2021-07-08 17:08:11 +10:00
Miloš Komarčević
01e423da00
Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression 2021-07-07 09:38:06 +02:00
Hugo van Kemenade
f6c91c3db9
Merge pull request #5585 from radarhere/stdout
Catch OSError when checking if fp is sys.stdout
2021-07-06 09:05:46 +03:00
Andrew Murray
f962b18f69 Catch OSError when checking if fp is sys.stdout 2021-07-06 11:00:03 +10:00
Andrew Murray
917a598615 Handle removing orientation from alternate types of EXIF data 2021-07-06 10:37:28 +10:00
Andrew Murray
9688507193 Removed variable 2021-07-05 23:02:26 +10:00
Meithal
919f38e3d9 Try test 2021-07-05 00:20:15 +02:00
Meithal
d9c14e9ccd Merge branch 'master' into patch-3 2021-07-04 13:14:43 +02:00
Andrew Murray
9707d33ed9 Allow "exif" to also accept bytestring 2021-07-04 13:32:41 +10:00
Andrew Murray
c0f619384c Added "exif" keyword argument to save Image.Exif instance 2021-07-04 12:33:55 +10:00
Thomas Viehmann
8d1b433c76
Use numpy.array with dtype
Thank you @radarhere.

Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-07-01 14:08:51 +02:00
Thomas Viehmann
1c03526b65 Make Image.__array__ take optional dtype argument
This is required by the numpy protocol.
2021-07-01 13:09:40 +02:00
Andrew Murray
53ce23c749 8.4.0.dev0 version bump 2021-07-01 16:55:53 +10:00
Andrew Murray
51591a80a4 8.3.0 version bump 2021-07-01 13:53:49 +10:00
Hugo van Kemenade
861a031304
Merge pull request #5514 from kmilos/fix_tiff_rowsperstrip 2021-06-30 17:31:42 +03:00
Hugo van Kemenade
06f88ddff4
Merge pull request #4526 from newpanjing/master 2021-06-30 17:13:43 +03:00
Roger Baumgartner
5f4653d0b4 Attempt to read dpi information from JPEG2000's resc header box 2021-06-30 06:43:33 -07:00
Roger Baumgartner
7f275c1bfc Create BoxReader helper class to parse JPEG2000 header 2021-06-30 06:43:33 -07:00
Andrew Murray
43f5a5f80b Combined sizes and types into dictionary 2021-06-30 23:30:59 +10:00
mergify[bot]
914950959b
Merge pull request #4989 from gofr/4962-jpeg-zigzag
De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables
2021-06-30 12:37:26 +00:00
Andrew Murray
1b74bddfde
Merge pull request #5564 from radarhere/getcolor
Do not use background or transparency index for new color
2021-06-30 21:45:21 +10:00
Andrew Murray
d11c794997 Merge branch 'master' into 4962-jpeg-zigzag 2021-06-30 20:54:55 +10:00
Andrew Murray
70c7514a4a
Added specific removal details 2021-06-30 19:29:52 +10:00
Andrew Murray
cab9179a85
Merge pull request #5315 from radarhere/simplified
Simplified code
2021-06-30 19:24:19 +10:00
Andrew Murray
0aa8bd00e7 Added warning if defusedxml is not found 2021-06-30 11:29:13 +10:00
Andrew Murray
d9d811ff21 Replaced xml.etree.ElementTree with defusedxml.ElementTree 2021-06-30 11:28:44 +10:00
Andrew Murray
41b58f4b16 Replaced xml.etree.ElementTree with re 2021-06-30 11:28:40 +10:00
Andrew Murray
eab2b17d64 Do not use background or transparency index for new color 2021-06-30 00:05:25 +10:00
Andrew Murray
3e5ceb6d67 Corrected border position 2021-06-29 21:24:41 +10:00
Andrew Murray
8736a745f4 Removed _to_int 2021-06-29 21:08:26 +10:00
Andrew Murray
90ece137b0
Merge branch 'master' into master 2021-06-29 20:52:35 +10:00
Andrew Murray
f366330a74 Only open one BytesIO instance at a time 2021-06-29 20:50:36 +10:00
Andrew Murray
d07a085757 Simplified use of struct 2021-06-29 20:40:32 +10:00
Andrew Murray
f5558f42f4 Only getvalue() once per entry 2021-06-29 20:40:26 +10:00
Andrew Murray
8e60ca6106 Use bytes 2021-06-29 20:40:05 +10:00
Hugo van Kemenade
bdc87f6dcf
Merge pull request #5539 from kdpenner/gaussian-doc
Modified docstring for GaussianBlur
2021-06-28 19:37:28 +03:00
Hugo van Kemenade
2251be1a6f
Merge pull request #5554 from radarhere/tag_group_data 2021-06-28 19:03:01 +03:00
Hugo van Kemenade
50302231ed
Merge pull request #5552 from radarhere/palette 2021-06-28 19:01:54 +03:00
Hugo van Kemenade
d0394d44c2
Merge pull request #5402 from radarhere/dds 2021-06-28 18:50:21 +03:00
Hugo van Kemenade
b5c4b9afe0
Merge pull request #5455 from radarhere/xmp 2021-06-28 18:43:04 +03:00
Hugo van Kemenade
9f28e4be26
Merge pull request #5412 from radarhere/ifdrational_eq_float 2021-06-28 18:33:46 +03:00
Hugo van Kemenade
6d94376d1f
Merge pull request #5416 from radarhere/tiff_exif
Allow getexif() to access TIFF tag_v2 data
2021-06-28 18:12:17 +03:00
Hugo van Kemenade
78f150cb42
Merge pull request #5405 from radarhere/fits
Read FITS image mode and size
2021-06-28 17:57:49 +03:00
Hugo van Kemenade
38d45d2848
flush if hasattr
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-06-28 17:48:06 +03:00
Andrew Murray
1ee30ded0b Fixed reloading palette 2021-06-28 22:27:05 +10:00
Andrew Murray
461628845d Disposal method 2 is transparency or black when saving 2021-06-28 22:27:01 +10:00
Andrew Murray
6db0e96102 Ensure image is loaded in remap_palette 2021-06-28 20:12:22 +10:00
Hugo van Kemenade
00303a29e9
Merge pull request #5557 from radarhere/gif_first_frame_transparency 2021-06-27 16:14:23 +03:00
Andrew Murray
804183c248 Only use an RGBA palette for images with an alpha channel 2021-06-27 18:29:02 +10:00
Andrew Murray
7005e66f00 Use first index for repeated color 2021-06-27 16:33:47 +10:00
Andrew Murray
450382f574 Do not use raw ImagePalette 2021-06-27 15:09:39 +10:00
Andrew Murray
dd28af0dfa
Merge branch 'master' into tag_group_data 2021-06-27 12:06:11 +10:00
Andrew Murray
e29a7d8a94 Replace with transparency if available for disposal method 2 2021-06-26 00:55:31 +10:00
Andrew Murray
5b4cb5052a Draw first frame on top of transparency 2021-06-25 21:54:21 +10:00
Andrew Murray
61c39074f5 Fixed undefined variable in logging 2021-06-25 19:46:58 +10:00
Andrew Murray
a2709be7f4 Added tag data for IFD groups 2021-06-24 19:56:01 +10:00
Andrew Murray
59a3e3bc60 Rearranged code to limit line length 2021-06-23 19:37:56 +10:00
Andrew Murray
1606d9adf3 Removed code from before Python 3.2 2021-06-23 19:29:06 +10:00
Andrew Murray
9192a33b38 Removed unnecessary load() 2021-06-23 19:29:02 +10:00
Andrew Murray
b6b362c807 Set color after attaching palette in expand() 2021-06-23 19:28:56 +10:00
Andrew Murray
8210645e4b If all 256 colors are in use, then there is no need for an additional color for background or transparency 2021-06-23 19:28:46 +10:00
Andrew Murray
fa559277fb When allocating a new color, repurpose an unused index if necessary 2021-06-23 19:27:08 +10:00
Andrew Murray
f3451aefc6 Convert opaque RGBA color to RGB if that is the palette mode 2021-06-23 19:26:53 +10:00
Andrew Murray
3b9792ab74 Convert getcolor input to RGBA if that is the palette mode 2021-06-23 19:23:34 +10:00
Andrew Murray
4d36feefc7 Set palette to be empty by default 2021-06-23 19:22:21 +10:00
Andrew Murray
dc89f0eaa9 Set colors 2021-06-23 19:16:04 +10:00
Hugo van Kemenade
e5b2d61e00
Merge pull request #5551 from radarhere/imageops 2021-06-20 15:51:21 +03:00
Hugo van Kemenade
53b51e1df6
Merge pull request #5549 from radarhere/palette 2021-06-20 15:44:38 +03:00
Andrew Murray
6639b2af7f Copy palette to new images in expand 2021-06-19 21:24:58 +10:00
Andrew Murray
aa4489c993 Keep palette the same length 2021-06-19 09:31:46 +10:00
Andrew Murray
f45d2e296d Ensure palette string matches RGB mode 2021-06-19 09:16:05 +10:00
Andrew Murray
04566917f8 Do not modify EXIF of original image instance in exif_transpose() 2021-06-18 19:01:12 +10:00
kdpenner
4433ff0ffd Wording changes 2021-06-15 12:11:46 -04:00
Andrew Murray
6449cdc1a3 Added RGBA saving 2021-06-14 18:14:28 +10:00
Andrew Murray
143e08c92c Added RGB saving 2021-06-14 18:14:28 +10:00
Andrew Murray
37c9b523b2 Use constant for uncompressed RGB data check 2021-06-14 18:14:28 +10:00
kdpenner
ce9cea94ed Modified docstring for GaussianBlur 2021-06-12 12:05:36 -04:00
Andrew Murray
cd31dae0d1 Added getxmp() for PNG 2021-06-12 13:57:14 +10:00
Andrew Murray
ae3bdf87f0 Added getxmp() for TIFF 2021-06-12 12:17:38 +10:00
Andrew Murray
c1fbe2d975 Corrected getxmp() descending into XML 2021-06-12 11:58:11 +10:00
Miloš Komarčević
0ae2981957 Put upper limit on rows per strip 2021-06-12 11:49:20 +10:00
Miloš Komarčević
1c4deefe11 Make strip calculation more readable 2021-06-12 11:49:20 +10:00
Miloš Komarčević
c949d54605 Fix lint errors 2021-06-12 11:49:20 +10:00
Miloš Komarčević
7752fb5131 Limit TIFF strip size when saving with libtiff 2021-06-12 11:49:20 +10:00
Hugo van Kemenade
101887360c
Merge pull request #5501 from radarhere/dds_bc5 2021-06-11 10:34:19 +03:00
Hugo van Kemenade
a9b0adc57f
Merge pull request #5510 from radarhere/textbbox 2021-06-10 17:46:32 +03:00
Hugo van Kemenade
2a7eb5415e
Merge pull request #5513 from radarhere/ico_bmp
Added ICO saving in BMP format
2021-06-06 18:12:33 +03:00
Hugo van Kemenade
87dca4f477
Merge pull request #5493 from radarhere/png_load_end
Ensure PNG seeks to end of previous chunk at start of load_end
2021-06-06 10:35:04 +03:00
Hugo van Kemenade
1ac7bd9f87
Merge pull request #5473 from radarhere/tiff_seek
Do not allow TIFF to seek to a past frame
2021-06-05 18:49:34 +03:00
Andrew Murray
2c9a9b3529 Added ICO saving in BMP format 2021-05-27 06:21:28 +10:00
Andrew Murray
362d504011 Raise an error if textbbox is used without a FreeTypeFont 2021-05-25 20:45:38 +10:00
Michael Constant
5c8aa277ce Avoid race condition when displaying images with eog
Image.show() expects its display command to run synchronously, but eog
is asynchronous if there's another instance already running -- it just
asks the other instance to open the file and then immediately exits.
This causes intermittent failures where the file gets deleted before
the running eog instance manages to open it.

Fix this by using the -n option, so eog starts a new instance each time
instead of trying to reuse an existing one.
2021-05-23 01:10:41 -07:00
Hugo van Kemenade
3cbf4d5ef7
Merge pull request #5379 from radarhere/numpy
Allow converting an image to a numpy array to raise errors
2021-05-20 15:09:02 +03:00
Andrew Murray
3b4db88202 Added BC5_SNORM reading when FourCC is DX10 2021-05-19 22:19:19 +10:00
Andrew Murray
22fb2dbd29 Simplified code 2021-05-19 21:57:40 +10:00
Andrew Murray
f59ff6d55b Read BC5_TYPELESS as BC5_UNORM 2021-05-19 21:16:12 +10:00
Hugo van Kemenade
16b9cadd41
Merge pull request #5495 from radarhere/tiff_tags
Added CFAPattern, ExifVersion and FlashpixVersion UNDEFINED tags
2021-05-19 00:31:41 +03:00
Andrew Murray
2e7f40e0b8 Added BC5_SNORM reading 2021-05-18 17:44:21 +10:00
Andrew Murray
68ac6d151e Added BC5_UNORM reading 2021-05-17 18:57:23 +10:00
Hugo van Kemenade
a72ae6823c
Merge pull request #5476 from radarhere/dpi_rounding 2021-05-16 20:00:10 +03:00
Hugo van Kemenade
d53a664866
Merge pull request #5470 from radarhere/wmf_dpi_rounding
Removed WMF DPI rounding
2021-05-16 19:57:14 +03:00
Hugo van Kemenade
f02739715d
Merge pull request #5452 from radarhere/missing_samplesperpixel
Updated default value for SAMPLESPERPIXEL TIFF tag
2021-05-14 16:17:34 +03:00
Andrew Murray
c8802030cf Added CFAPattern, ExifVersion and FlashpixVersion UNDEFINED tags 2021-05-14 18:50:56 +10:00
Andrew Murray
bf97a92bc6 Ensure PNG seeks to end of previous chunk at start of load_end 2021-05-14 13:18:49 +10:00
Andrew Murray
c04260b3f5 Convert to float for comparison with float in IFDRational __eq__ 2021-05-10 08:36:45 +10:00
Andrew Murray
9bbe53a01d
Merge pull request #5446 from radarhere/tiff_dpi_rounding
Removed TIFF DPI rounding
2021-05-10 08:34:05 +10:00
Andrew Murray
43faa38952
Wrapped tuples in brackets
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2021-05-10 07:54:47 +10:00
Hugo van Kemenade
23f848ea54
Merge pull request #5443 from radarhere/fp 2021-05-09 20:39:44 +03:00
Andrew Murray
3795772187 Use python3 2021-05-08 12:37:06 +10:00
Andrew Murray
9ac888262a Do not allow TIFF to seek to a past frame 2021-05-08 00:25:47 +10:00
Andrew Murray
18e204df05 Removed DPI rounding from JPEG loading 2021-05-07 21:23:29 +10:00
Andrew Murray
0de3beaeaf Removed DPI rounding when BMP loading 2021-05-07 20:50:18 +10:00
Andrew Murray
9d72542c08 Removed DPI rounding from PNG loading 2021-05-07 20:50:01 +10:00
Andrew Murray
b9c571a328 Removed WMF DPI rounding 2021-05-06 20:08:54 +10:00
Andrew Murray
edc2771909 Corrected code references in docstring 2021-05-05 23:52:59 +10:00
Andrew Murray
6fc039a21c Updated default value for SAMPLESPERPIXEL tag 2021-05-04 16:50:12 +10:00
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
04922cba2b
Merge branch 'master' into patch-3 2021-03-29 21:30:53 +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
Piolie
9c2cbcf452
Keep case consistency in error messages
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-03-22 13:06:16 -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
Piolie
b6f6fba8cf Rewrite _ignore_comment as one-liner 2021-01-31 01:40:43 -03:00
Piolie
b43654d159 Change variable name in _read_magic() 2021-01-31 01:40:43 -03:00
Piolie
39288f0fb0 Create maxval variable 2021-01-31 01:40:32 -03:00
Piolie
50522d932e Change max token size to 10
- ...so as not to reject "2,147,483,647" (2 ** 31 - 1);
- reword exception message.
2021-01-31 01:35:25 -03: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
Piolie
73fed77c0c Suppress exception context 2021-01-06 14:46:30 -03:00
Piolie
5d0ad5e2e9 Revert exception types to ValueError 2021-01-06 01:21:01 -03:00
Piolie
4dbe244e42 Add token limit 2021-01-06 01:07:14 -03:00
Piolie
d2ad27d70a Correctly check magic number 2021-01-05 00:08:15 -03: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
Andrew Murray
56e7d1fd9b 8.2.0.dev0 version bump 2021-01-03 07:14:59 +11:00
Andrew Murray
fcc42e0d34 8.1.0 version bump 2021-01-02 22:39:02 +11:00
Eric Soroos
2f409261eb Fix for CVE CVE-2020-35655 - Read Overflow in PCX Decoding.
* Don't trust the image to specify a buffer size
2021-01-02 20:38:46 +11:00
Hugo van Kemenade
4e3dc9a06b Add support for PySide6 2021-01-01 20:34:44 +02:00
Andrew Murray
6175389186 Only read different sizes for "Large Thumbnail" frames 2021-01-01 12:45:02 +11:00
Hugo van Kemenade
4093897673
Merge pull request #5126 from radarhere/apng_disposal
Use disposal settings from previous frame in APNG
2020-12-31 16:06:33 +02:00
Andrew Murray
3c482b1b0b Changed list of single item dictionaries to dictionary 2020-12-30 23:10:29 +11:00
Andrew Murray
ad9614be7a Renamed variable 2020-12-30 22:46:49 +11:00
Alexander
1ff61bcaa6 use offset for all binary input functions instead of slicing 2020-12-30 19:10:50 +11:00
Alexander
3757b8c748 remove extra i8 calls where input is proved bytes[] or int 2020-12-30 19:04:11 +11:00
Andrew Murray
86ad435ee4
Merge branch 'master' into master 2020-12-30 13:05:35 +11:00
Andrew Murray
0ff800a525
Updated docstring
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-12-30 12:49:22 +11:00
Hugo van Kemenade
85d61ca7d5
Merge pull request #5139 from radarhere/repr_png
Added exception explaining that _repr_png_ saves to PNG
2020-12-29 12:43:22 +02:00
Hugo van Kemenade
cd446e6088
Merge pull request #5125 from radarhere/disposal_method
Use previous disposal method in GIF load_end
2020-12-29 12:26:14 +02:00
Hugo van Kemenade
5c64438792
Merge pull request #5090 from radarhere/valueerror
Do not catch a ValueError only to raise another
2020-12-29 12:19:16 +02:00
Hugo van Kemenade
25500e83bc
Merge pull request #5089 from radarhere/putpalette_rgba
Allow putpalette to accept 1024 integers to include alpha values
2020-12-29 12:17:50 +02:00
UrielMaD
19bac31804 XMP feature added 2020-12-27 22:28:03 -06:00
UrielMaD
7968279c13 XMP feature added 2020-12-27 22:24:38 -06:00
UrielMaD
2f29f1306f XMP feature added 2020-12-27 22:01:27 -06:00
UrielMaD
762235fb06 XMP feature added 2020-12-27 19:01:15 -06:00
UrielMaD
9947655b93 XMP feature added 2020-12-27 18:46:07 -06:00
UrielMaD
50e88764e8 XMP feature added 2020-12-27 18:39:16 -06:00
UrielMaD
eeee980cf7 XMP feature added 2020-12-27 18:36:13 -06:00
Andrew Murray
fdce845364 Added exception explaining that _repr_png_ saves to PNG 2020-12-27 15:36:16 +11:00
Andrew Murray
e37a8a263d
Merge pull request #4568 from ziplantil/ico-append-images
Add append_images support for ICO
2020-12-24 11:10:33 +11:00
Andrew Murray
5e4e0fa6ee Use disposal settings from previous frame 2020-12-24 09:55:22 +11:00
Andrew Murray
9940c84b08 Use previous disposal method in load_end 2020-12-23 13:22:53 +11:00
Piolie
6b81e34d67 Improve handling of PPM headers 2020-12-21 22:39:27 -03:00
Andrew Murray
8794610c76 Block TIFFTAG_SUBIFD 2020-12-22 11:38:02 +11:00
Andrew Murray
043d8dac0b Do not require packaging just for a DeprecationWarning 2020-12-18 23:42:16 +11:00
Hugo van Kemenade
27bf17009c Deprecate FreeType 2.7, to be removed in Pillow 9 (2022-01-02) 2020-12-17 10:28:06 +02:00