Commit Graph

3898 Commits

Author SHA1 Message Date
Andrew Murray
a2eff2aff5 Added test 2022-06-20 09:18:05 +10:00
nulano
1bf87556ef
add textbbox and textlength to ImageDraw2 and update tests 2022-06-19 22:04:57 +01:00
nulano
f34a6460ef
update test_font_pcf to use getbbox 2022-06-19 22:04:56 +01:00
nulano
c854bf8d1c
add getbbox and getlength to basic ImageFont and update related tests 2022-06-19 22:04:56 +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
Hugo van Kemenade
1229110fb2
Update comment
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2022-06-19 15:22:02 +03:00
Hugo van Kemenade
607f508080
Update comment
We get "an integer is required (got type NoneType)" with Python 3.7-3.9 on Windows.

We get "'NoneType' object cannot be interpreted as an integer" with Python 3.10 on Windows and all versions on macOS and Ubuntu.
2022-06-19 12:29:39 +03:00
Andrew Murray
709744432a Optimise palettes with more than 128 colors 2022-06-19 16:47:50 +10: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
Andrew Murray
4d6e5a0d09 Limit tile size to avoid extending outside image 2022-06-16 08:36:43 +10:00
Hugo van Kemenade
6ae6a241f2 More generic match text 2022-06-15 21:57:20 +03:00
Hugo van Kemenade
983a6139d5 Check other exception messages 2022-06-15 21:42:04 +03:00
Hugo van Kemenade
6c889d1088 Test ImageCms.profileToProfile with invalid flags 2022-06-15 21:34:16 +03:00
Andrew Murray
6eb6232f04 Test comment that ends in the same block 2022-06-14 21:39:55 +10:00
Andrew Murray
216cd374dd Parametrized tests 2022-06-14 21:39:26 +10:00
Andrew Murray
c4d51fb268 Added support for PPM arbitrary maxval in plain formats 2022-06-13 19:55:25 +10:00
Andrew Murray
5051a29a4e Merge branch 'main' into plainPPM 2022-06-12 16:11:17 +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
1c810bea52
Merge pull request #6301 from radarhere/pytest
Added pytest-timeout to test dependencies
2022-06-10 18:45:49 +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
1c0bc81a65 Revert "Skip test_realloc_overflow unless libtiff 4.0.4 or higher" 2022-06-08 17:51:44 +10:00
Andrew Murray
11be163143 Added apply_transparency() 2022-06-06 22:47:58 +10: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
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
Andrew Murray
cb4b5f212d Separated test 2022-05-28 15:25:19 +10:00
Andrew Murray
b0bc74a297 Only test alpha channel values 2022-05-28 09:24:42 +10:00
Davide Consalvo
84da70988f
Merge branch 'python-pillow:main' into p2pa_images_conversion 2022-05-27 12:37:43 +02:00
Davide Consalvo
9a14be898c added p2pa test 2022-05-27 12:34:05 +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
62d0f0e38d Once comment is loaded, keep it for subsequent frames 2022-05-22 15:30:16 +10:00
Andrew Murray
67f5e5d272 Test an empty string comment in arguments removes existing comment 2022-05-22 15:01:28 +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
138bd280e4 Added check to test_comment as well 2022-05-19 20:59:32 +10:00
Andrew Murray
1a286627b4 Skip test_realloc_overflow unless libtiff 4.0.4 or higher 2022-05-17 13:17:01 +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
Andrew Murray
b9a5944058 Added pytest-timeout to test dependencies 2022-05-16 08:56:45 +10:00
Ray Gardner
6257e788ad
Update test_file_gif.py
Changed to use a test image already in Images folder
2022-05-14 11:57:41 -06:00
pre-commit-ci[bot]
416de882e4 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-05-14 15:36:54 +00: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
3bce17175c Replaced test image to fix xfail 2022-05-09 22:30:04 +10: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
3fa89f09eb
Merge pull request #6274 from radarhere/imagetk
Skip test_imagetk if tk raises a RuntimeError
2022-05-05 23:41:55 +03: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
4e52d06e6c Added test 2022-05-05 17:57:08 +10:00
Andrew Murray
26e68ed321 Skip test_imagetk if tk raises a RuntimeError 2022-05-05 08:16:06 +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
48f763a378 Manually merge radarhere's additional tests 2022-05-03 13:53:50 -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
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
9c9aa9964e Skip tests unless JPEG 2000 is available 2022-04-29 19:17:03 +10:00
Hugo van Kemenade
d42efd7ec0
Update URL (#16) 2022-04-28 08:26:57 +10:00
Andrew Murray
f64dd53897 Test invalid WebP background colors 2022-04-26 18:55:54 +10: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
Andrew Murray
5d4258e72b Simplified index slicing 2022-04-25 22:52:29 +10:00
Andrew Murray
5867e0bbac Decode bytes before passing to f-string 2022-04-24 15:42:45 +10:00
Hugo van Kemenade
889ceedfb9
Ignore warning
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2022-04-24 08:28:21 +03:00
Andrew Murray
40711f9edb Run deprecated import check before imports from other tests 2022-04-23 08:01:02 +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
Andrew Murray
0374d6190b Skip tests unless libtiff is available 2022-04-20 11:10:48 +10:00
Andrew Murray
a33dc56560
Merge pull request #6220 from nulano/deprecate-fill
Deprecate FreeTypeFont.getmask2 fill parameter
2022-04-18 08:05:10 +10:00
nulano
ab86bdda0a
fix deprecation test 2022-04-17 16:03:53 +02:00
Andrew Murray
e62449f94c Added DeferredError to _fp 2022-04-17 12:14:53 +10:00
nulano
b4b8249c9d
None is also not a valid value 2022-04-16 17:46:43 +02:00
nulano
a766b5b0d5
deprecate fill in imageFont 2022-04-16 17:07:32 +02:00
Andrew Murray
35fbf22250
Merge branch 'main' into cleanup-names 2022-04-16 19:49:40 +10:00
Andrew Murray
535c45717f
Merge pull request #6184 from hugovk/deprecations-helper
Add deprecations helper
2022-04-16 18:58:46 +10:00
Andrew Murray
c8118438ae Do not update frame position until local image is found 2022-04-16 17:07:39 +10:00
Andrew Murray
92f96b44e1
Merge branch 'main' into cleanup-names 2022-04-15 20:45:44 +10:00
Andrew Murray
ae12b1d2dc Removed unused function 2022-04-15 18:23:02 +10:00
Andrew Murray
950d0ad1d3 Fixed behaviour change from #5901 endian fix 2022-04-12 23:12:54 +10:00
Hugo van Kemenade
9951de08c0 [Test] argument name should be snake_case 2022-04-11 15:29:01 +03:00
Hugo van Kemenade
a715bf2d6f [Test] function name should be snake_case 2022-04-11 15:29:01 +03:00
Hugo van Kemenade
fca64bc0d3 [Test] class names should be CamelCase 2022-04-11 15:29:01 +03:00
Hugo van Kemenade
7fa92c67b1 [Private] class names should be CamelCase 2022-04-10 23:55:16 +03:00
Hugo van Kemenade
d241e38120 [Private] function names should be snake_case 2022-04-10 23:55:16 +03:00
Hugo van Kemenade
d3c9a6504e Variable in function should be snake_case 2022-04-10 23:55:16 +03:00
Hugo van Kemenade
855c1a12da Use self for first method parameter 2022-04-10 23:39:54 +03:00
Hugo van Kemenade
73cf0cb3d9 Use cls for classmethods 2022-04-10 23:39:54 +03:00
Hugo van Kemenade
9d87b26a67 Don't redeclare loop variable 2022-04-10 23:39:54 +03:00
Hugo van Kemenade
ee85e387ba Remove redundant parentheses 2022-04-10 23:39:54 +03:00
Hugo van Kemenade
63f64de8b5
Merge pull request #6188 from radarhere/point 2022-04-08 20:05:30 +03:00
Andrew Murray
e824558076 If removal version has arrived, raise an error 2022-04-08 21:22:31 +10:00
Andrew Murray
0b5cdba431 Load before getting size in resize() 2022-04-08 19:11:27 +10:00
Andrew Murray
42f67d184a Round lut values where necessary 2022-04-07 08:58:57 +10:00
Hugo van Kemenade
aae38c55b2
Update raw strings
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2022-04-06 13:37:17 +03:00
Hugo van Kemenade
4cb8e4b3fa Add deprecations helper 2022-04-06 13:19:52 +03:00
Andrew Murray
910a29fb92 Load image before performing size calculations in thumbnail() 2022-04-06 11:19:39 +10:00
Andrew Murray
ba5f2d75b5
Merge pull request #6167 from gmarkall/unpack-bgra16
Add support for unpacking 16-bit BGRA
2022-04-04 07:49:45 +10:00
Andrew Murray
a724be66be Deprecated PhotoImage.paste() box parameter 2022-04-02 23:44:28 +11:00
Andrew Murray
6b2da2f123 Consider transparency from each frame when saving 2022-04-02 21:04:22 +11:00
Andrew Murray
698f52916e Parametrized test 2022-03-31 22:13:17 +03:00
Andrew Murray
c3e0fd1a7a Moved getvalue asserts outside of image context managers 2022-03-31 22:13:17 +03:00
scaramallion
b5a59d8860 Remove redundant im.load() in tests 2022-03-31 22:13:17 +03:00
scaramallion
462e3fdaa5 Remove duplicate test 2022-03-31 22:13:17 +03:00
scaramallion
4e7f041795 Rename parameter and add more tests 2022-03-31 22:13:17 +03:00
scaramallion
f8a74cbed1 Fix priority when selecting j2k kind 2022-03-31 22:13:17 +03:00
scaramallion
de26f78eb1 Add 'mct' and 'use_jp2' options for J2K saving 2022-03-31 22:13:17 +03:00
Graham Markall
e500dcfb97 Add support for unpacking 16-bit BGRA 2022-03-31 10:42:54 +01:00
Hugo van Kemenade
e60ca89721
Merge pull request #6150 from radarhere/gif 2022-03-30 23:23:59 +03:00
Hugo van Kemenade
4bc6483564
Merge pull request #6034 from radarhere/imageops 2022-03-30 16:16:57 +03:00
Andrew Murray
e22a4395d3 Renamed setting 2022-03-29 21:26:29 +11:00
Andrew Murray
ae8de77721 Raise ValueError when trying to save empty image 2022-03-28 21:18:53 +11:00
Hugo van Kemenade
1bc0e1bb9d
Merge pull request #5973 from radarhere/planar_configuration 2022-03-27 18:52:44 +03:00
Hugo van Kemenade
f7169f9c93
Merge pull request #5980 from radarhere/polygon 2022-03-27 18:51:10 +03:00
Hugo van Kemenade
57a5066d14
Merge pull request #6032 from radarhere/tk 2022-03-27 18:46:45 +03:00
Hugo van Kemenade
5ff4a137c7
Merge pull request #6147 from radarhere/webp 2022-03-26 19:51:32 +02:00
Hugo van Kemenade
aeba11db1b
Merge pull request #6148 from radarhere/gif_size 2022-03-26 19:48:08 +02:00
Hugo van Kemenade
8107098657
Merge pull request #6132 from radarhere/fillorder 2022-03-26 19:47:14 +02:00
Hugo van Kemenade
9134f07615
Merge pull request #6134 from radarhere/created_cleanup
If an error occurs after creating a file, remove the file
2022-03-24 08:08:36 +02:00
Hugo van Kemenade
e5ce1c8c57
Merge pull request #6128 from radarhere/gif_rgba 2022-03-23 18:36:03 +02:00
Hugo van Kemenade
c3d0dcda7a
Merge pull request #6122 from radarhere/ico 2022-03-23 17:07:00 +02:00
Hugo van Kemenade
3cce863ec8
Merge pull request #6124 from radarhere/exif 2022-03-23 17:01:22 +02:00
Hugo van Kemenade
a921fcbf75
Merge pull request #6102 from radarhere/bmp_rle8 2022-03-23 17:00:31 +02:00
Hugo van Kemenade
d0f1f663d3
Merge pull request #6141 from radarhere/imports 2022-03-22 23:27:03 +02:00
Andrew Murray
c5efe60c37 Reverted converting L with transparency to LA after first frame 2022-03-22 22:07:37 +11:00
Andrew Murray
ce8c682748 Added setting to convert to RGB only at a different palette 2022-03-22 20:28:49 +11:00
Andrew Murray
66bb2bd5e8 Added setting to convert first GIF frame to RGB 2022-03-22 20:20:38 +11:00
Andrew Murray
7928e944cb Keep subsequent L frames without transparency as L 2022-03-22 20:20:38 +11:00