Commit Graph

3852 Commits

Author SHA1 Message Date
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
Andrew Murray
b0d0d2b9cc Fixed saving L mode GIF with background as WebP 2022-03-22 20:17:28 +11:00
Hugo van Kemenade
a6a843e548
Merge pull request #6140 from radarhere/webp_duration
Added WebP default duration of zero when saving
2022-03-22 09:23:10 +02:00
Andrew Murray
d806227199 Do not expand GIF during n_frames 2022-03-21 23:19:26 +11:00
Andrew Murray
ebdb47e693 Support reading I;16R TIFF images 2022-03-20 13:34:50 +11:00
Andrew Murray
2a285d1b1f Only import ctypes as needed on Windows 2022-03-19 14:46:25 +11:00
Andrew Murray
ca3bc290e3 Record resolution instead of requiring ctypes 2022-03-19 14:45:40 +11:00
Hugo van Kemenade
7857a1dff0
Merge pull request #6119 from radarhere/ppm_maxval 2022-03-18 18:14:40 +02:00
Andrew Murray
2981569b29 Added default duration of zero 2022-03-17 23:49:23 +11:00
Andrew Murray
71c30ed266 If an error occurs after creating a file, remove the file 2022-03-14 23:33:45 +11:00
Andrew Murray
55be0ae6f4 Parametrized test 2022-03-14 08:07:13 +11:00
Hugo van Kemenade
6faebd3ff3
Merge pull request #5984 from radarhere/libwebp
libwebp 1.2.2 fixed endian bugs
2022-03-12 09:21:49 +02:00
Andrew Murray
073acd4c82 Moved decoder names out of MODES 2022-03-12 17:32:15 +11:00
Andrew Murray
59780abd79 Save multiple images at different bit depths if provided 2022-03-12 15:49:36 +11:00
Andrew Murray
a8586fe1ff Do not save duplicates when duplicate sizes are supplied 2022-03-12 15:49:36 +11:00
Andrew Murray
4e16a9a942 Retain RGBA transparency when saving multiple frames 2022-03-12 15:14:36 +11:00
Andrew Murray
07210e9425 Handle EXIF data truncated to just the header 2022-03-12 08:23:40 +11:00
Hugo van Kemenade
515957b2ac
Merge pull request #6097 from radarhere/bigtiff 2022-03-11 23:05:41 +02:00
Hugo van Kemenade
652542c770
Merge pull request #6112 from radarhere/i_i16_conversion
Clip I;16 to be unsigned, not signed
2022-03-10 19:56:45 +02:00
Hugo van Kemenade
29960c6610
Merge pull request #6108 from radarhere/none 2022-03-10 17:36:13 +02:00
Hugo van Kemenade
d0a33addc5
Merge pull request #6086 from radarhere/l_gif 2022-03-10 17:35:00 +02:00
Andrew Murray
039b7ecd56 Finish reading data at eof 2022-03-09 22:36:34 +11:00
Andrew Murray
9db527a473 Finish once enough data has been read 2022-03-09 22:36:33 +11:00
Andrew Murray
ae06f2e274 Added file to supported list 2022-03-09 22:36:33 +11:00
Andrew Murray
11f1ba3540 Skip additional data if past end of row 2022-03-09 22:36:32 +11:00
Andrew Murray
0ace3fcd26 Added BMP RLE8 decoder 2022-03-09 22:35:48 +11:00
Andrew Murray
4283a604c0 Added support for arbitrary maxval 2022-03-09 22:29:45 +11:00
Hugo van Kemenade
c16737d589
Merge pull request #6096 from radarhere/cleanup 2022-03-06 20:12:13 +02:00
pre-commit-ci[bot]
0215175e1d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-03-06 02:39:09 +00:00
Andrew Murray
d20f39d02e
Merge branch 'main' into plainPPM 2022-03-06 13:38:19 +11:00
Hugo van Kemenade
180c89f755
Merge pull request #6092 from radarhere/accept 2022-03-05 23:10:08 +02:00
Andrew Murray
c8b69a78f3 Clip I;16 to be unsigned, not signed 2022-03-05 13:42:39 +11:00
Andrew Murray
97982cf703 Replaced assert_image_equal with assert_image_equal_tofile 2022-03-04 17:09:33 +11:00
Andrew Murray
7aa7d850ee Added context managers 2022-03-04 17:08:10 +11:00
Piolie
c1744e8536 Add tests for plain PPM 2022-03-04 17:03:07 +11:00
Andrew Murray
72b7ab54bd pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
Andrew Murray
d96830115f Updated tests 2022-03-04 15:22:41 +11:00
Andrew Murray
65edcc4f77 Merge branch 'main' into PPMheaders 2022-03-04 12:30:41 +11:00
Andrew Murray
c27519960f Check if self.im is not None 2022-03-03 22:10:19 +11:00
Andrew Murray
7d3274518d Allow LA to be used as a mask in paste() 2022-03-01 21:05:42 +11:00
Andrew Murray
e2b007f0c2 Use transparency info key when converting to LA 2022-03-01 20:25:25 +11:00
Andrew Murray
5c6212052c Convert subsequent frames of L mode GIF to LA if transparency is present 2022-03-01 20:11:35 +11:00
Andrew Murray
573cf278f1 Reset size when seeking away from "Large Thumbnail" MPO frame 2022-03-01 19:10:10 +11:00
Andrew Murray
fc7319318e Added BigTIFF reading 2022-03-01 09:23:12 +11:00
Andrew Murray
a606fd85a3 Run encoder cleanup method after errors as well 2022-02-28 14:12:56 +11:00
Hugo van Kemenade
1d3b373160
Merge pull request #6069 from radarhere/pyencoder 2022-02-27 18:34:09 +02:00
Andrew Murray
e2288356ca Use _accept check in _open 2022-02-27 14:48:36 +11:00