Commit Graph

2554 Commits

Author SHA1 Message Date
Andrew Murray
c9f1b35e98 Added GIF decompression bomb check 2022-06-30 12:47:35 +10:00
Hugo van Kemenade
714ff4e397
Merge pull request #6386 from dawidcrivelli/handle_pcf_missing_characters
Handle PCF fonts files with less than 256 characters
2022-06-27 07:59:50 +03:00
Andrew Murray
93805d5257 Limit expected number of characters to nencoding 2022-06-27 14:05:13 +10:00
Andrew Murray
fc497ffe5e
Merge pull request #6378 from raygard/fix_get_optimize
Improved GIF optimize condition
2022-06-27 09:12:20 +10:00
Andrew Murray
847ad8c512 Clarify check that palette is not already at its smallest 2022-06-26 20:58:36 +10:00
Andrew Murray
e5046b1057 Reverted to __array_interface__ with the release of NumPy 1.23 2022-06-24 23:08:36 +10:00
Hugo van Kemenade
e774be01fe
Merge pull request #6391 from radarhere/pcx
Pad PCX palette to 768 bytes when saving
2022-06-23 09:50:22 +03:00
Hugo van Kemenade
6dd5b2e8c9
Merge pull request #6377 from btrekkie/fix-round-to-palette
Fixed bug with rounding pixels to palette
2022-06-22 12:31:25 +03:00
Andrew Murray
317286d260 Pad palette to 768 bytes 2022-06-22 17:27:49 +10:00
Andrew Murray
db741bf25f Skip remaining characters after IndexError 2022-06-22 16:55:33 +10:00
Hugo van Kemenade
557e293ece
Merge pull request #6361 from radarhere/wayland
Use gnome-screenshot on Linux if available
2022-06-21 18:02:31 +03:00
Dawid Crivelli
f160e698a1 Handle PCF fonts files with missing characters 2022-06-20 16:20:08 +02:00
Andrew Murray
3e8a9b2165 Fixed loading L mode RLE8 images 2022-06-20 21:01:10 +10:00
nulano
93acbcf9e2
add getbbox and getlength to TransposedFont with tests 2022-06-20 02:37:42 +01:00
nulano
1bf87556ef
add textbbox and textlength to ImageDraw2 and update tests 2022-06-19 22:04:57 +01:00
nulano
c854bf8d1c
add getbbox and getlength to basic ImageFont and update related tests 2022-06-19 22:04:56 +01:00
nulano
406fe59242
deprecate font.getsize and related functions 2022-06-19 22:03:34 +01:00
mergify[bot]
8de74b9fab
Merge pull request #6370 from LostBenjamin/patch-1
Fix wrong operator bug in PyCMSError exception message
2022-06-19 13:21:43 +00:00
Andrew Murray
709744432a Optimise palettes with more than 128 colors 2022-06-19 16:47:50 +10:00
pre-commit-ci[bot]
f656711c80 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-06-19 00:20:28 +00:00
Ray Gardner
128ed189e5 Improve test in _get_optimize()
Palette can be optimized if number of colors can be reduced by half or more.
2022-06-18 18:07:58 -06:00
William Jacobs
9f9e26522e Fixed bug with rounding pixels to palette
This fixes a bug with rounding pixels to the nearest palette color. Specifically, there is a typo with computing the minimum distance from a palette color to a given cache box. This is causing palette colors to be incorrectly excluded from consideration.
2022-06-18 04:09:41 -04:00
nulano
c2047b8293
fix null check for fribidi_version_info in fribidi shim 2022-06-17 17:13:11 +01:00
Andrew Murray
4d6e5a0d09 Limit tile size to avoid extending outside image 2022-06-16 08:36:43 +10:00
Hugo van Kemenade
959e576dd2 Use f-string 2022-06-15 21:43:18 +03:00
Jingxuan He
b47bcc246f
Fix a potential wrong operator bug 2022-06-15 17:39:37 +02:00
Andrew Murray
1bac1cf6f5 Moved all comments logic into _ignore_comments() 2022-06-14 21:39:55 +10:00
Andrew Murray
c4d51fb268 Added support for PPM arbitrary maxval in plain formats 2022-06-13 19:55:25 +10:00
Andrew Murray
b1ba0909ed
Prefer gnome-screenshot if xdisplay is None
Co-authored-by: Ondrej Baranovič <nulano@nulano.eu>
2022-06-13 09:56:52 +10:00
Andrew Murray
5051a29a4e Merge branch 'main' into plainPPM 2022-06-12 16:11:17 +10:00
Andrew Murray
a48d95061d Use gnome-screenshot on Linux if available 2022-06-12 16:00:31 +10:00
Hugo van Kemenade
8bd7e81b5d
Merge pull request #6352 from radarhere/apply_transparency
Added apply_transparency()
2022-06-11 17:58:10 +03:00
Hugo van Kemenade
f7ec22f518
Merge pull request #6197 from radarhere/endian
Fixed behaviour change from endian fix
2022-06-10 19:02:54 +03:00
Hugo van Kemenade
3a61c9e95e
Merge pull request #6350 from radarhere/remap_rgba_palette 2022-06-10 18:43:09 +03:00
Andrew Murray
11be163143 Added apply_transparency() 2022-06-06 22:47:58 +10:00
Hugo van Kemenade
418820a1e8
Merge pull request #6341 from radarhere/imagedraw
Only import ImageFont in ImageDraw when necessary
2022-06-05 22:25:10 +03:00
Andrew Murray
4c8aff9798 Allow remapping P images with RGBA palettes 2022-06-06 00:12:48 +10:00
Hugo van Kemenade
38931c1e47
Merge pull request #6278 from radarhere/polygon
Fixed drawing translucent 1px high polygons
2022-06-04 09:34:37 +03:00
Hugo van Kemenade
55d3c07e1d
Merge pull request #6232 from radarhere/colormap 2022-06-01 23:12:13 +03:00
Hugo van Kemenade
37c642338b
Merge pull request #6337 from RedShy/p2pa_images_conversion
Fix "P"->"PA" image conversion
2022-06-01 22:17:55 +03:00
Hugo van Kemenade
b261e17907
Merge pull request #6335 from radarhere/exif 2022-06-01 16:36:03 +03:00
Andrew Murray
e96177451e Only import ImageFont when necessary 2022-05-30 19:36:36 +10:00
Andrew Murray
40a918d274 Set readcount to TIFF_VARIABLE for a variable number of values 2022-05-28 20:14:05 +10:00
Andrew Murray
71d6a7b14f
Merge pull request #6303 from radarhere/disconnected
Only try to connect discontiguous corners at the end of edges
2022-05-28 16:40:00 +10:00
Davide Consalvo
84da70988f
Merge branch 'python-pillow:main' into p2pa_images_conversion 2022-05-27 12:37:43 +02:00
Davide Consalvo
6a071f81d7 fixed p2pa conversion 2022-05-27 12:24:19 +02:00
Hugo van Kemenade
27f5c4d8fb
Merge pull request #6176 from radarhere/gif_transparency
Improve transparency handling when saving GIF
2022-05-27 08:31:37 +02:00
Hugo van Kemenade
0476914ee4
Merge pull request #6219 from radarhere/gif_eof
Do not update GIF frame position until local image is found
2022-05-27 08:29:38 +02:00
Andrew Murray
b1885779a9 Once exif data is parsed, do not reload unless it changes 2022-05-27 07:54:54 +10:00
Andrew Murray
2457eafabd Only read the number of loops from the first frame 2022-05-24 12:53:19 +10:00
Andrew Murray
5cf02f816f Moved Netscape extension after global color table when saving 2022-05-24 12:53:03 +10:00
Andrew Murray
62d0f0e38d Once comment is loaded, keep it for subsequent frames 2022-05-22 15:30:16 +10:00
Andrew Murray
db76eaa12c
Merge branch 'main' into comment_correct_placement 2022-05-22 14:56:57 +10:00
Andrew Murray
e9cb2156ec
Merge pull request #6294 from raygard/comments_separate_multiple
Separate multiple GIF comment blocks in a frame with newlines
2022-05-22 14:53:03 +10:00
Andrew Murray
62d5817e29 Changed delimiter to \n 2022-05-22 14:11:11 +10:00
Andrew Murray
99f4623a8d Remove transparency if it cannot be remapped 2022-05-21 17:39:37 +10:00
Andrew Murray
46a80d144a Update transparency when remapping the palette 2022-05-21 16:37:47 +10:00
Andrew Murray
2072a52bb5
Merge pull request #6292 from raygard/comment_use_gif89a
Always use GIF89a for comments
2022-05-21 10:24:14 +10:00
Hugo van Kemenade
33f00c9ca8
Merge pull request #6231 from radarhere/bmp_compression
Ignore compression value from BMP info dictionary when saving as TIFF
2022-05-20 16:18:15 +03:00
Hugo van Kemenade
fbb74a6050
Merge pull request #6234 from radarhere/font_variant
If font is file-like object, do not re-read from object to get variant
2022-05-19 23:30:44 +03:00
Hugo van Kemenade
2c58c3ee11
Merge pull request #6213 from radarhere/fp 2022-05-19 18:52:55 +03:00
Andrew Murray
80782bba9b
Merge pull request #6254 from benrg/affine-transform
Support more affine expression forms in im.point()
2022-05-19 21:06:04 +10:00
Andrew Murray
98329354e0 Simplified version check 2022-05-19 20:59:16 +10:00
Hugo van Kemenade
ef8cec6185
Merge pull request #6256 from radarhere/furthestV
Ensure that furthest v is set in quantize2
2022-05-17 20:04:50 +03:00
Andrew Murray
f0353c5996 When reading past the end of a scan line, reduce bytes left 2022-05-17 11:53:24 +03:00
Andrew Murray
62c7ee0f00 Only try to connect discontiguous corners at the end of edges 2022-05-16 22:31:49 +10:00
Yulv-git
a0fa540b0b Fix some typos. 2022-05-14 12:46:46 +08:00
Ray Gardner
22d9095e5c Correct placement of GIF comment
Place GIF comment after Global Color table. Should go after "NETSCAPE" looping extension after pull #6211.
2022-05-13 17:09:37 -06:00
Ray Gardner
44c6467400 Multiple GIF comments in a frame are separated
If more than one comment is in a GIF frame, separate them with \r\n in the info dict.
2022-05-13 16:36:20 -06:00
Ray Gardner
b3d29e946a Always use GIF89a for long comments
Fix bug that allows GIFs with long comments to be written as GIF87a.
2022-05-13 11:33:33 -06:00
Andrew Murray
ef8fd7f8b9 Populate Python palette in fromarray() 2022-05-09 18:50:54 +10:00
Hugo van Kemenade
6b05a28482
Merge pull request #6253 from radarhere/png_chunk_length
Raise ValueError if PNG chunks are truncated
2022-05-07 00:29:38 +03:00
Hugo van Kemenade
f84684931d
Merge pull request #6265 from radarhere/gif_duration
Use durations from each frame by default when saving GIFs
2022-05-06 18:44:01 +03:00
Andrew Murray
c824ab048f Fixed drawing translucent 1px high polygons 2022-05-06 22:35:26 +10:00
Hugo van Kemenade
779fb4975b
Merge pull request #6270 from radarhere/samples_per_pixel
Adjust BITSPERSAMPLE to match SAMPLESPERPIXEL
2022-05-05 14:22:19 +03:00
Andrew Murray
4dc1a55f65 Adjust BITSPERSAMPLE to match SAMPLESPERPIXEL 2022-05-04 22:11:10 +10:00
Andrew Murray
886fcbe3d6 Do not open images with zero or negative height 2022-05-04 21:25:40 +10:00
Ben Rudiak-Gould
88f46f3c99 Add a comment 2022-05-03 13:42:04 -07:00
Andrew Murray
46802d5def Removed unused import and restored existing checks (#1)
* Removed unused import

* Restored existing checks

* Restored coerce_e, _E and data property

* Deprecated coerce_e

Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2022-05-03 13:05:39 -07:00
Ben Rudiak-Gould
4e12ccc63e Support more affine expression forms in Image.point
In modes I and F, Image.point only supported affine expressions of the
forms (lambda x:) x * a, x + a, and x * a + b. Expressions like 1 - x
had to be written x * -1 + 1.

This rewrite, though still limited to affine transformations, supports
far more expression forms, including 1 - x, (2 * x + 1) / 3, etc.
2022-05-03 13:05:39 -07:00
Andrew Murray
7e084c7ede Use durations from each frame by default when saving 2022-05-03 20:07:47 +10:00
Hugo van Kemenade
87c2373265
Merge pull request #6242 from radarhere/ppm_maxval 2022-05-01 21:21:52 +03:00
Andrew Murray
44494a1171 Set furthestV to first v in case compute_distances does not assign it 2022-05-01 23:32:47 +10:00
Andrew Murray
b299d7cfc2 Simplified code by using unsigned int instead of union 2022-05-01 23:32:47 +10:00
Andrew Murray
51bdc99b96 Raise ValueError if PNG chunks are truncated 2022-05-01 13:45:58 +10:00
Andrew Murray
81b473f9d2 Raise ValueError for invalid maxval 2022-04-30 10:37:50 +10:00
Andrew Murray
a50c3957df Updated URL 2022-04-27 22:28:10 +10:00
axt-one
9fb0087ec2 modified screencapture option in ImageGrab.grab() 2022-04-26 18:04:08 +09:00
Andrew Murray
bcded33cee
Merge pull request #6195 from hugovk/cleanup
Cleanup: various
2022-04-26 18:51:44 +10:00
Hugo van Kemenade
42a81c4173
Merge pull request #6239 from radarhere/ppm_token
Decode bytes before passing to f-string
2022-04-26 09:14:20 +03:00
Hugo van Kemenade
64880ab8d5
Merge pull request #88 from radarhere/cleanup 2022-04-25 22:06:52 +03:00
Hugo van Kemenade
79e8eba3f8
Docs: spacing
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2022-04-25 18:13:50 +03:00
Andrew Murray
5d4258e72b Simplified index slicing 2022-04-25 22:52:29 +10:00
Andrew Murray
9490509784
Merge pull request #6237 from hugovk/deprecate-qt5
Deprecate support for Qt 5 (PyQt5 and PySide2)
2022-04-25 10:03:35 +10:00
Sumanth
f77aabf281
Update Image.py docstrings.
Update Image.py file with  a typo in effect_mandelbrot method.
The Typo was in docstrings of the effect_mandelbrot method in Image module of PIL.
2022-04-24 18:42:37 +05:30
Andrew Murray
5867e0bbac Decode bytes before passing to f-string 2022-04-24 15:42:45 +10:00
Hugo van Kemenade
f854d7f7c9 Deprecate support for Qt 5 (PyQt5 and PySide2). Use Qt 6 (PyQt6 or PySide6) instead. 2022-04-22 15:56:11 +03:00
Andrew Murray
a40c7a6bea If font is file-like object, do not re-read from object to get variant 2022-04-22 07:31:20 +10:00
Andrew Murray
1e3fdb3055 Pad COLORMAP to 768 items 2022-04-21 11:29:17 +10:00
Andrew Murray
2c5e5049db Ignore compression value from BMP info dictionary 2022-04-21 07:58:12 +10:00