Commit Graph

4884 Commits

Author SHA1 Message Date
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
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
Andrew Murray
efb9d503a7 Raise SyntaxError if data is not as expected 2022-02-27 14:48:36 +11:00
Andrew Murray
e36774617c Added BLP1 saving 2022-02-25 23:58:13 +11:00
Andrew Murray
3ec928251c Fixed reading uncompressed BLP2 with alpha 2022-02-25 16:54:53 +11:00
Andrew Murray
169025df6c Added BLP saving 2022-02-25 16:53:53 +11:00
Andrew Murray
a0e1fde1ed Added PyEncoder 2022-02-25 16:07:01 +11:00
Andrew Murray
afb7728b8c Moved unrelated tests out of TestPyDecoder 2022-02-25 09:41:39 +11:00
Andrew Murray
0d729941a8 Handle packets that cross scan lines 2022-02-25 09:41:16 +11:00
Hugo van Kemenade
b3599de6c9
Merge pull request #6080 from radarhere/gif_test
Test that n_frames and is_animated do not change GIF
2022-02-23 18:03:37 +02:00
Andrew Murray
030a6225de Removed duplicate test 2022-02-22 11:03:36 +11:00
Andrew Murray
9006836c28 Test that n_frames and is_animated do not change the image 2022-02-22 08:55:02 +11:00
Andrew Murray
dae1f691c2 Updated checks that no warnings were raised 2022-02-21 13:49:01 +11:00
mergify[bot]
c58d2817bc
Merge pull request #6056 from radarhere/fits
Added FITS reading
2022-02-20 21:49:01 +00:00
Andrew Murray
11948050ae Updated tests in light of #6060 2022-02-20 23:54:12 +11:00
Andrew Murray
7aa49741c6 Merge branch 'main' into getpalette 2022-02-20 23:52:20 +11:00
Hugo van Kemenade
b78e601b63
Merge pull request #6071 from radarhere/handler
Fixed BUFR, GRIB and HDF5 stub saving
2022-02-19 11:25:42 +02:00
Hugo van Kemenade
de06aba8f1
Merge pull request #6068 from radarhere/quantize
Changed quantize default dither to FLOYDSTEINBERG
2022-02-19 11:24:17 +02:00
Hugo van Kemenade
bfa6da63a4
Merge pull request #6045 from radarhere/imageshow
Do not automatically remove temporary ImageShow files on Unix
2022-02-19 11:06:10 +02:00
Hugo van Kemenade
3d33987d7c
Merge pull request #4685 from Meithal/patch-3
Correctly read JPEG compressed BLP images
2022-02-19 11:03:36 +02:00
Hugo van Kemenade
e0afe932a1
Merge pull request #6057 from radarhere/mode_conv
Merged _MODE_CONV typ into ImageMode as typestr
2022-02-19 10:13:36 +02:00
Andrew Murray
7dca0135dd Merge branch 'main' into fits 2022-02-19 14:41:45 +11:00
Andrew Murray
2368723230 Deprecated FitsStubImagePlugin 2022-02-19 14:41:12 +11:00
Andrew Murray
3f5fad3a27 Fixed BUFR, GRIB and HDF5 stub saving 2022-02-19 14:29:03 +11:00
Andrew Murray
f6e024212c Use enums for quantize instead of raw values 2022-02-19 10:49:23 +11:00
Hugo van Kemenade
1ec7be9a87
Merge pull request #6060 from radarhere/palette
Consider palette size when converting and in getpalette()
2022-02-18 23:31:56 +02:00
Hugo van Kemenade
07741c9315
Merge pull request #5954 from radarhere/enum 2022-02-18 15:53:41 +02:00
Andrew Murray
58509a48a8 Use existing image 2022-02-17 22:22:44 +11:00
Andrew Murray
74080b94f9 Updated comment 2022-02-17 18:55:48 +11:00
Hugo van Kemenade
0aca22e863
Merge pull request #6052 from radarhere/p2pa 2022-02-17 09:39:39 +02:00
Andrew Murray
d4ee19199c Replaced test image to avoid copyrighted color space 2022-02-17 14:39:18 +11:00
Andrew Murray
6be87277f7 Allow rawmode None to return the palette in the current mode 2022-02-17 10:35:13 +11:00
Andrew Murray
852859476b Added rawmode argument to getpalette() 2022-02-17 10:15:03 +11:00
Andrew Murray
54cb09d8b4 When converting to P, restrict colors to palette size 2022-02-16 11:01:00 +11:00
Andrew Murray
948c064b28 Allow getpalette() to return less than 256 colors 2022-02-16 09:56:13 +11:00
Hugo van Kemenade
f5a77fed39
Merge pull request #6054 from radarhere/palette 2022-02-15 19:01:07 +02:00
Andrew Murray
a2313be894 Merged _MODE_CONV typ into ImageMode as typestr 2022-02-15 18:01:02 +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
83d4f451fa Ensure image is opaque after converting P to PA with RGB palette 2022-02-14 16:10:59 +11:00
Andrew Murray
45534d130b Only skip test if libimagequant is earlier than 4 on ppc64le 2022-02-14 12:12:33 +11:00
Andrew Murray
3ba9587675 Added test 2022-02-12 09:07:17 +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
Andrew Murray
2ae70f144f Added get_photoshop_blocks() to parse Photoshop tag 2022-02-10 12:00:23 +11:00
Andrew Murray
e098481279 Combined width and height into size 2022-02-10 11:02:13 +11:00
Andrew Murray
b38a67fa12
Merge branch 'main' into enum 2022-02-10 09:52:24 +11:00
Mikhail Iurkov
2bbf5f0981
Lint 2022-02-09 16:53:27 +03:00
Mikhail Iurkov
bb5a090f60
Drop excess values in BITSPERSAMPLE 2022-02-09 16:40:43 +03: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
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
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
DWesl
1b6a8c6122 TST: Parametrize numpy roundtrip to find failing case
Segfaults are annoying to debug.
2022-01-29 13:07:27 +11:00
Andrew Murray
31aa2ad98c Removed unused variables 2022-01-24 11:06:41 +11:00
Andrew Murray
eb1fc4ad9f Added pytest skip message 2022-01-24 07:47:44 +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
e05b8d7481 libwebp 1.2.2 fixed endian bugs 2022-01-23 08:56:14 +11:00
Andrew Murray
b894c8c73d Connected discontiguous polygon corners 2022-01-21 11:55:59 +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
ddb0a6393f Added test 2022-01-18 11:46:29 +11:00
Andrew Murray
acd33bf62a Removed unused images 2022-01-18 09:10:36 +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
2d9dfefe6e Added specific error if coordinate type is incorrect 2022-01-08 13:47:51 +11:00
Hugo van Kemenade
5908ccc5ae
Merge pull request #5938 from radarhere/zero
Return an empty bytestring from tobytes() for an empty image
2022-01-07 08:34:50 +02:00
Andrew Murray
b5160591bc Return an empty bytestring from tobytes() for an empty image 2022-01-07 16:29:38 +11:00
Andrew Murray
fbe396f22a Removed duplicate check 2022-01-07 12:34:58 +11:00
pre-commit-ci[bot]
52f29a537d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-01-03 17:11:34 +00: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
525c840b0f Updated path after pillow-wheels switched to libjpeg-turbo 2022-01-01 20:15:06 +11:00
Andrew Murray
5543e4e2d4
Merge pull request #5920 from radarhere/calloc
Fixed ImagePath.Path array handling
2022-01-01 19:16:11 +11:00
Andrew Murray
c48271ab35 Handle case where path count is zero 2022-01-01 15:44:04 +11:00
Andrew Murray
1e092419b6 Initialize coordinates to zero 2022-01-01 15:44:04 +11:00
Andrew Murray
7370a0b1cf Remove consecutive duplicates that only differ by their offset 2022-01-01 14:54:23 +11:00
Andrew Murray
1998d12bb6 Added sys import 2021-12-30 00:11:20 +11:00
Andrew Murray
4d1d2c9855
Merge pull request #5807 from DWesl/tkimaging-on-cygwin
Use the Windows method to get TCL functions on Cygwin
2021-12-30 00:08:31 +11:00
Andrew Murray
d8f2fb50a4
Merge pull request #5404 from radarhere/feed
Changed error type to allow for incremental WebP parsing
2021-12-29 07:33:56 +11:00
Hugo van Kemenade
3c39be3bc2
Merge pull request #5901 from radarhere/i16
Improved I;16 operations on big endian
2021-12-28 10:12:00 +02: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
cc670c940e
Merge pull request #5869 from radarhere/quantize_palette
Fixed palette index for zeroed color in FASTOCTREE quantize
2021-12-28 10:05:58 +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
e7b53259d1
Merge pull request #5824 from radarhere/l_macro
Added rounding when converting P and PA
2021-12-28 10:02:36 +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
Andrew Murray
aeb549ef8f Fixed unpacking I;16B to I;16 on big endian 2021-12-28 17:38:01 +11:00
Andrew Murray
4b7b07de70 Fixed JPEG2000 I;16 images on big endian 2021-12-28 17:06:05 +11: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
e0d5417bcd Raise an error if sequence is not flattened 2021-12-28 09:38:41 +11:00
Andrew Murray
e9294d890f Accept float values for putdata() in Python 3.10 2021-12-28 09:38:41 +11:00
Andrew Murray
4222605442 Fixed freeing pointer 2021-12-27 13:39:37 +11:00
Andrew Murray
73ccda9cd1 Do not compare properties to themselves 2021-12-26 13:27:41 +11:00
Andrew Murray
ff723e45ab Ensure that pixel data offset does not ignore palette 2021-12-21 12:43:50 +11: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
b1cc094f57 Add 16-bit grayscale test 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
fdec387b4a Fixed palette index for zeroed color in FASTOCTREE quantize 2021-12-11 16:07:45 +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
1fb1bec0e8 Added test 2021-11-29 17:49:19 +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
3a302f3e4b Only add test to PPM 2021-11-25 23:33:59 +11:00
Andrew Murray
3af00edc85 Added context managers 2021-11-25 23:16:07 +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
Andrew Murray
838c8efa25 Corrected file length in header 2021-11-20 14:17:42 +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
d7873e02ab Added test that translucent polygon pixels do not combine 2021-11-16 11:12:48 +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
bb6212a332 Added rounding when converting P and PA 2021-11-10 08:00:58 +11:00
DWesl
5a41417224 Skip test_readonly_save on Cygwin.
The test seems to require opening a file for reading, mmapping it,
then opening that file for writing.  Windows doesn't allow this.
2021-11-04 19:48:53 -04: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
e6ffeac66f Updated image comparison 2021-10-19 16:08:23 +11:00
Hugo van Kemenade
cb5c8f6f86 Remove unused left_old variable 2021-10-18 11:28: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
Hugo van Kemenade
a8c18d0817 Rename master to main 2021-10-15 17:30:05 +03:00
Hugo van Kemenade
1b5e662ee6
Merge pull request #5761 from nulano/stroke 2021-10-14 21:33:07 +03:00
nulano
19f4c6fd23 don't use bitmap glyphs when drawing text with stroker 2021-10-14 08:19:04 +01:00
pre-commit-ci[bot]
dbb0a41600 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2021-10-13 21:10:23 +00:00
Andrew Murray
1140f6538d
Ensure reset after test failure
Co-authored-by: Ondrej Baranovič <nulano@nulano.eu>
2021-10-14 08:09:36 +11: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
b5d6a73da9 Added test 2021-10-13 11:39:31 +02: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
Hugo van Kemenade
63c5faa0f6
Merge pull request #5688 from Google-Autofuzz/new_atheris 2021-09-13 09:27:57 +03: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
5d399603db Update test case
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-09-02 15:03:03 +03:00
Hugo van Kemenade
1dc6564eb7 Raise ValueError if color specifier is too long 2021-09-02 15:02:57 +03:00
Eric Soroos
d5edc5ff09 FLI tests for Oss-fuzz crash.
* Note, valgrind doesn't pick this up, it's only the oss-fuzz
  reproducer that catches it OMM.
2021-09-02 15:02:27 +03:00
Andrew Murray
0dba28613b Copy Python palette to new image in quantize() 2021-08-31 00:33:10 +10:00
pre-commit-ci[bot]
3b69035d4b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2021-08-25 14:52:20 +00:00
Julien Voisin
9d48143567 Improve the fuzzer wrt. the current atheris version 2021-08-25 16:50:47 +02:00
Andrew Murray
1b397751ec
Added context managers 2021-08-24 23:43:38 +10:00
Hugo van Kemenade
57c672efcc
Merge pull request #5654 from radarhere/ihdr 2021-08-24 15:08:23 +03:00
Andrew Murray
8b639f7546
Merge pull request #5686 from hugovk/fix-test-warnings
Fix/filter/avoid test warnings
2021-08-24 21:53:03 +10: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
d773fcd23d Filter out UserWarning: Truncated File Read 2021-08-24 11:33:43 +03:00
Hugo van Kemenade
320ab8172e Avoid DecompressionBombWarning: Image size (151587072 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack. 2021-08-24 11:19:45 +03:00
Hugo van Kemenade
474270fbd5 Filter out UserWarning: Truncated File Read 2021-08-24 11:03:10 +03:00
Hugo van Kemenade
2b9e230f76 Fix ResourceWarning: unclosed file 2021-08-24 10:58:02 +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
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
Yutao Yuan
0f11d22cce Add tests for saving to stdout 2021-08-10 19:12:20 +08:00
Andrew Murray
cbdc751628 Read AND mask from end 2021-08-10 07:04:36 +10: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
025f2071f5
Merge pull request #5598 from radarhere/i16
Consider I;16 pixel size when drawing text
2021-08-06 14:10:04 +03: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
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
8045ecceef Added tests 2021-08-01 19:01:43 +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
300f1ffc02 Added test 2021-07-30 20:29:07 +10:00
Andrew Murray
438c3cc097 Speed up rotating square images by 90 or 270 degrees 2021-07-30 19:57:09 +10:00
Andrew Murray
a9372d5cf0 Fixed generated palettes 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
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
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
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
63c3b26f6a Fixed using info dictionary when writing multiple frames 2021-07-13 23:02:23 +10:00
Andrew Murray
ca16cf2aac Added test 2021-07-13 18:47:55 +10:00
Andrew Murray
97e0cb85ee Keep transparency when converting from P to LA or PA 2021-07-12 22:55:12 +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
a39cb04f3e Consider I;16 pixel size when drawing text 2021-07-09 21:23:43 +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
Andrew Murray
abb192c9b3 Added test 2021-07-07 11:34:15 +02:00
Andrew Murray
917a598615 Handle removing orientation from alternate types of EXIF data 2021-07-06 10:37:28 +10:00
Meithal
919f38e3d9 Try test 2021-07-05 00:20:15 +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
73f6cf22f3 Use numpy.float64 instead of numpy.float to avoid deprecation (thank you radarhere) 2021-07-01 14:06:13 +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
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
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
8f5762ec5f Parametrized test 2021-06-30 20:32:48 +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
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
90ece137b0
Merge branch 'master' into master 2021-06-29 20:52:35 +10:00
Andrew Murray
a1d8d638bf
Checked complete length of value 2021-06-29 19:41:00 +10:00
mergify[bot]
28330c2f9d
Merge pull request #5561 from radarhere/crash
Moved CVE image to pillow-depends
2021-06-29 07:07:14 +00: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
f3db65db09
Merge pull request #5347 from radarhere/edge 2021-06-28 17:17:17 +03:00
Andrew Murray
2976c4efdc Removed crash image 2021-06-28 23:27:52 +10:00
Andrew Murray
1ee30ded0b Fixed reloading palette 2021-06-28 22:27:05 +10:00
Andrew Murray
d24299a16c Corrected comments 2021-06-28 20:21:46 +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
f6d504c8f6 Use context manager 2021-06-26 00:48:16 +10:00
Glenn Maynard
432677740d Add a test for an image that works with other GIF decoders.
This test is fixed by the next commits.
2021-06-26 00:48:10 +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
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
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
ec74f3b1c0
Merge pull request #5367 from radarhere/quant 2021-06-20 21:57:05 +03: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
Hugo van Kemenade
7c08565e5e
Merge pull request #5547 from radarhere/exif 2021-06-20 13:22:05 +03:00
Hugo van Kemenade
8b0244ac66
Merge pull request #5540 from radarhere/numresolution 2021-06-20 11:58:51 +03:00
Andrew Murray
6639b2af7f Copy palette to new images in expand 2021-06-19 21:24:58 +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
Andrew Murray
3066c48faa
Merge pull request #5533 from radarhere/random
Fixed errors when running tests in random order
2021-06-14 22:43:31 +10: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
bd298b128c Fixed default numresolution for small JPEG2000 images 2021-06-14 11:23:56 +10: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ć
100299a838 Add multiple strip saving test 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
Andrew Murray
41fc39174a Reset fuzzer LOAD_TRUNCATED_IMAGES and filters to allow for random test order 2021-06-10 13:49:17 +10:00
Andrew Murray
d99a6ff862 Reset MAX_IMAGE_PIXELS after each test to allow for random test order 2021-06-10 13:17:57 +10: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
Hugo van Kemenade
affa059e95
Merge pull request #5504 from radarhere/tuple_size
Added specific error messages when ink has incorrect number of bands
2021-05-23 17:18:38 +03: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
f59ff6d55b Read BC5_TYPELESS as BC5_UNORM 2021-05-19 21:16:12 +10:00
Andrew Murray
1bb98974f8 Moved DXT5 test after DXT3 test 2021-05-19 21:14:51 +10:00
Andrew Murray
a1412681ff Added specific error messages when ink has incorrect number of bands 2021-05-19 20:19:57 +10: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
Andrew Murray
78406ed1ff
Merge pull request #5460 from xtsm/ellipse
Remove spikes when drawing thin pieslices
2021-05-14 23:37:11 +10: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
bf97a92bc6 Ensure PNG seeks to end of previous chunk at start of load_end 2021-05-14 13:18:49 +10:00
Andrew Murray
7bfaffd5fa Simplified tests now that casting to float is not needed 2021-05-10 09:36:57 +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
Hugo van Kemenade
3942eaec18
Merge pull request #5471 from radarhere/webp_error_code 2021-05-09 23:18:49 +03:00
Hugo van Kemenade
79eb24ba34
Merge pull request #5474 from radarhere/stdout 2021-05-09 23:17:23 +03:00
Hugo van Kemenade
649eaae360
Merge pull request #5434 from radarhere/text_alpha 2021-05-09 22:17:58 +03:00
Hugo van Kemenade
23f848ea54
Merge pull request #5443 from radarhere/fp 2021-05-09 20:39:44 +03: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
e7749abdf9 Corrected error in restoring sys.stdout 2021-05-07 20:44:46 +10:00
Andrew Murray
4080f160b6 Include code in WebP error 2021-05-07 00:12:03 +10:00
Andrew Murray
b9c571a328 Removed WMF DPI rounding 2021-05-06 20:08:54 +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
Stanislau Tsitsianok
ca67a0c1a2
Added test for #5432 2021-05-02 17:12:27 +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
d22fe41776 Reorganised test to use parametrize 2021-05-01 22:36:12 +10:00
Andrew Murray
bc935f9970 Do not round dimensions when saving PDF 2021-05-01 12:13:09 +10:00
Andrew Murray
8bc19ac78c Do not alter pixels outside mask when drawing text on an image with transparency 2021-04-29 23:08:25 +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
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
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
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
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
6967f3519f Test when "adobe_transform" is unable to be read 2021-04-20 20:53:50 +10:00
Andrew Murray
8d52181123 Corrected test 2021-04-20 20:24:50 +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
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
Hugo van Kemenade
197673b9b2
Merge pull request #4996 from nulano/jp2-decode-subsample 2021-04-17 21:42:17 +03: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
1e074f5040
Merge pull request #4144 from jansol/master
Stop decoding BC1 punchthrough alpha in BC2&3
2021-04-15 20:24:52 +10: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
35107e9637 Changed failure to create decoder to OSError for Parser 2021-04-14 20:01:56 +10:00
Andrew Murray
2cb1d056c0 Merge branch 'master' into jp2-decode-subsample 2021-04-11 12:49:10 +10:00
Andrew Murray
c5f886958a Merge branch 'master' into quant 2021-04-11 12:41:48 +10:00
Andrew Murray
a3dbee9f08 Cover horizontal lines both increasing in x 2021-04-11 12:41:33 +10:00
Andrew Murray
006de79d60 Use assert_image_equal_tofile 2021-04-11 12:41:33 +10:00
Tsung-Po Sun
9a4b1301de Modify test code 2021-04-11 12:41:33 +10:00
Tsung-Po Sun
87e7e88591 fix lint 2021-04-11 12:41:32 +10:00
Tsung-Po Sun
df0273e024 Reformat 2021-04-11 12:41:32 +10:00
Tsung-Po Sun
324d934128 Remove spaces 2021-04-11 12:41:32 +10:00
Tsung-Po Sun
824d2fa4f3 Add test 2021-04-11 12:41:32 +10:00
wiredfool
fe668716ed
Merge pull request #5397 from wiredfool/valgrind_fixes
Valgrind fixes
2021-04-10 19:15:17 +01:00
Eric Soroos
1c872a9eda lint stuff 2021-04-10 16:58:01 +02:00
Andrew Murray
fc64064387 Changed mode for 16-bit palette to BGR;15 2021-04-10 22:11:20 +10:00
Eric Soroos
af6fb9c518 xfail the fuzzer check as well 2021-04-10 12:03:39 +02:00
Eric Soroos
c94f66ad13 make sure we return a mark decorator 2021-04-10 12:03:15 +02:00
Eric Soroos
a3a69c8385 conditional mark for valgrind ignore 2021-04-09 23:53:24 +02:00
Andrew Murray
356681faae
Merge pull request #5393 from hugovk/test-redos
Add test for CVE-2021-25292 ReDoS
2021-04-09 23:34:11 +10:00
Eric Soroos
43aa6ade6f Local valgrind test target 2021-04-09 13:39:28 +02:00
Andrew Murray
04df6e3bf1 mapdepth is only 1 byte 2021-04-09 21:38:28 +10:00
Andrew Murray
714d6c8cd3 Removed shebang line 2021-04-09 19:10:53 +10:00
Andrew Murray
b8c8375d0c Use python3 in shebang line 2021-04-09 19:10:36 +10:00
Hugo van Kemenade
bde149be38 Add test for CVE-2021-25292 ReDoS 2021-04-08 23:53:22 +03: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
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
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
Andrew Murray
3c129142c8 Catch OSError 2021-04-03 09:34:56 +11:00
Andrew Murray
39fe85f308
Merge branch 'master' into jp2-decode-subsample 2021-04-03 09:26:55 +11:00
Andrew Murray
6541bd7cb5 Added second attribute to avoid unstable nature of qsort 2021-04-02 04:07:18 +11: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
bb6c11fb88 Fix FLI DOS -- CVE-2021-28676
* FliDecode did not properly check that the block advance was
  non-zero, potentally leading to an infinite loop on load.
* This dates to the PIL Fork
* Found with oss-fuzz
2021-04-01 17:17:23 +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
Eric Soroos
3bf5eddb89 Fix OOB Read in Jpeg2KDecode CVE-2021-25287,CVE-2021-25288
* For J2k images with multiple bands, it's legal in to have different
  widths for each band, e.g. 1 byte for L, 4 bytes for A
* This dates to Pillow 2.4.0
2021-04-01 17:17:13 +03: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
b90c73f08d
Merge pull request #5373 from wiredfool/valgrind_test_warnings
Fix pytest valgrind warnings
2021-04-01 12:17:50 +03:00
Hugo van Kemenade
8c852e44f0
Merge pull request #5349 from latosha-maltba/master 2021-04-01 11:55:37 +03:00
Andrew Murray
37f9fcf93b Removed unused imports 2021-04-01 12:57:34 +11:00
Eric Soroos
87934e22d0 Fix for crash-0da0 2021-03-31 23:24:30 +02:00
Eric Soroos
53c80281d7 fix for crash-8115 2021-03-31 22:23:57 +02:00
Eric Soroos
45530d5ce1 fixes crash-74d2 2021-03-31 22:23:57 +02:00
Eric Soroos
22a6893364 Fix pytest valgrind warnings 2021-03-31 21:28:15 +02:00
Hugo van Kemenade
c54a7bb031
Merge pull request #5333 from radarhere/gif_frame_transparency 2021-03-31 18:08:11 +03:00
Hugo van Kemenade
727533148e
Merge pull request #5282 from radarhere/quantize
Set all transparent colors to be equal in quantize()
2021-03-31 17:58:21 +03:00
Hugo van Kemenade
683affa29c
Merge pull request #5206 from radarhere/numpy 2021-03-31 17:46:32 +03: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
7844c6e483 Test that preserve_tone changes RGB images but not L images 2021-03-29 23:26:34 +11:00
wiredfool
9a683db339
Merge pull request #5274 from radarhere/gradient
Fixed linear_gradient and radial_gradient I and F modes
2021-03-28 14:35:22 +01:00
wiredfool
d0612030a0
Merge pull request #5364 from wiredfool/4641_merge
Add support for reading TIFFs with PlanarConfiguration=2
2021-03-28 14:33:42 +01:00
wiredfool
611a6d2330
Merge pull request #5328 from wiredfool/oss-fuzz
More OSS-Fuzz support
2021-03-28 14:19:29 +01:00
Konstantin Kopachev
4c2dfadf26 Swap pixel values on Big Endian 2021-03-28 15:03:37 +02:00
Konstantin Kopachev
169bb4842f only use TIFFReadRGBA* in case of o_jpeg compression 2021-03-28 15:03:37 +02:00
nulano
671837840a the previous commit also fixes these big-endian failures 2021-03-28 15:03:37 +02:00
Konstantin Kopachev
0018685a8e Add Tests and support for Planar Tiff Images 2021-03-28 15:03:37 +02:00
German Novikov
d18e55013d
Update Tests/test_imageops.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-03-28 15:02:52 +03:00
Eric Soroos
bf8cebc96d Add libxcb to fuzzers 2021-03-28 13:49:37 +02:00
Hugo van Kemenade
e405ab300b
Merge pull request #5351 from radarhere/categories 2021-03-28 14:34:50 +03:00
Andrew Murray
71cd97a519 Added deprecation warnings 2021-03-28 15:51:28 +11:00
Ondrej Baranovič
9872d57e3b
corrected comment 2021-03-27 02:06:36 +01:00
German Novikov
977e64fb61
Update Tests/test_imageops.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-03-25 14:56:30 +03:00
nulano
49fa3656b1 do not premultiply alpha when resizing with Image.NEAREST resampling 2021-03-23 13:16:20 +01:00
elejke
694d70bdc3 fixed typos in test for autocolor tone preserving 2021-03-23 13:09:51 +03:00
Andrew Murray
4a0698838d Parametrized test 2021-03-23 20:08:18 +11:00
elejke
8913166c7e fix test function name for autocontrast 2021-03-23 11:59:37 +03:00
Latosha Maltba
52794432f0 Make code for ImageMagick/GraphicsMagick more symmetric 2021-03-22 19:50:06 +00:00
Andrew Murray
35943372f0 Removed CONVERT helper variables 2021-03-22 19:50:06 +00:00
elejke
f73d238cd2 removed redundant comments in tests for tone preserving autocolor 2021-03-22 15:30:43 +03:00
German Novikov
25403063ea
Update Tests/test_imageops.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-03-22 15:27:13 +03:00
elejke
b4e5a6d202 add more tests for autocontrast preserve tone option 2021-03-22 12:06:44 +03: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
ef864d72f1 TestSuite: Add support for GraphicsMagick
Add support to run the tests using GraphicsMagick's "gm convert" instead
of ImageMagick's "convert".
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
Piolie
8ad5172e88 Fix wrong extension in temp test files 2021-03-21 02:16:39 -03:00
Andrew Murray
41a439da7d Added context managers 2021-03-21 14:42:36 +11:00
Andrew Murray
754752e78f Allow fewer palette entries than the bit depth maximum 2021-03-21 09:22:01 +11:00
Hugo van Kemenade
7235cf3135
Merge pull request #5345 from radarhere/tofile
Increased use of assert_image_equal_tofile
2021-03-21 00:05:28 +02:00
Hugo van Kemenade
e1e9569d8a
Merge pull request #5331 from radarhere/png_bits
Added test for saving PNG with bits keyword
2021-03-20 23:25:24 +02:00
Andrew Murray
6591297239 Increased use of assert_image_equal_tofile 2021-03-20 22:32:27 +11: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
94df4ec1c9
Lint fix 2021-03-17 23:16:35 +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
Andrew Murray
c801db7a32 Added test for saving PNG with bits keyword 2021-03-15 21:27:07 +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
Eric Soroos
ad37e86c40 DecompressionBombError is now an option 2021-03-15 00:21:18 +01:00
Eric Soroos
83dabda6b2 Clean up comments and filters 2021-03-15 00:18:07 +01:00
Eric Soroos
d45247eb66 Add decompression bomb error to font fuzzer 2021-03-15 00:14:43 +01:00
Eric Soroos
76e0422eb7 Isort linted that there's an extra line, which black didn't worry about 2021-03-14 14:13:37 +01:00
Eric Soroos
862e3b9d8e Apparently, it's a keyword-only parameter 2021-03-14 14:11:48 +01:00
Eric Soroos
961b2c0242 True 2021-03-14 14:03:41 +01:00
Eric Soroos
487dc16ce6 Can't skip windows properly because the depenedncy is in the decorator 2021-03-14 13:57:24 +01:00
Eric Soroos
bb6b991d8d no colors anymore, they want them to turn black 2021-03-14 13:49:36 +01:00
Eric Soroos
0ea13132a2 Overflow error shows up in x86 2021-03-14 13:42:16 +01:00
Eric Soroos
6189bca3bc Skip fuzzer tests on windows 2021-03-14 13:42:16 +01:00
Eric Soroos
8b06fec6ab linty bits 2021-03-14 13:14:39 +01:00
Eric Soroos
c17ce801cf I see a python file and I want to paint it black 2021-03-14 13:02:48 +01:00
Eric Soroos
becd633d3f Refactor fuzzers, add fuzzer tests 2021-03-14 13:01:27 +01: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
Hugo van Kemenade
982837ec85
Merge pull request #5325 from radarhere/unclosed_file
Fixed unclosed file warning
2021-03-14 10:29:58 +02:00
Eric Soroos
e2577d1736 font fuzzer 2021-03-13 11:35:50 +01:00
Eric Soroos
38692f222f Delegate building of oss-fuzz versions to pillow 2021-03-13 11:12:05 +01:00
Andrew Murray
2844fd2d18 Fixed unclosed file warning 2021-03-12 22:45:07 +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
Ondrej Baranovič
14671f715f
Merge branch 'master' into sbix 2021-03-07 20:05:25 +01:00
Hugo van Kemenade
6108596ff8
Merge pull request #5289 from radarhere/ipythonviewer 2021-03-07 14:26:50 +02:00
Hugo van Kemenade
3a27118d76
Merge pull request #5183 from radarhere/rectangle
Only draw each rectangle outline pixel once
2021-03-07 12:25:45 +02:00
Hugo van Kemenade
f15f573e51
Merge pull request #5224 from radarhere/mapper 2021-03-07 11:51:46 +02:00
Hugo van Kemenade
a95fee0475
Merge pull request #5215 from radarhere/license
Document license for several fonts
2021-03-07 11:41:56 +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
690cf9ebe2 Allow alpha_composite destination to be negative 2021-03-06 20:54:21 +11:00
Andrew Murray
5269ab13a7 Lint fix 2021-03-06 10:20:01 +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
346bfc9537 Added IPythonViewer 2021-03-04 08:55:24 +11:00
Eric Soroos
cbdce6c5d0 Fix for CVE-2021-25291
* Invalid tile boundaries lead to OOB Read in TiffDecode.c, in TiffReadRGBATile
* Check the tile validity before attempting to read.
2021-03-01 19:04:48 +11:00
Eric Soroos
86f02f7c70 Fix negative size read in TiffDecode.c
* Caught by oss-fuzz runs
* CVE-2021-25290
2021-03-01 19:04:42 +11:00
Eric Soroos
4853e522bd Fix OOB read in SgiRleDecode.c
* From Pillow 4.3.0->8.1.0
* CVE-2021-25293
2021-03-01 19:04:19 +11:00
Eric Soroos
3fee28eb94 Incorrect error code checking in TiffDecode.c
* since Pillow 8.1.0
* CVE-2021-25289
2021-03-01 18:51:13 +11:00
Andrew Murray
3e670d7737 Migrated from deprecated numpy bool and float 2021-02-26 20:59:11 +11:00
Andrew Murray
114145a61a Set all transparent colors to be equal 2021-02-25 22:49:11 +11:00
Andrew Murray
297789284b Fixed linear_gradient and radial_gradient 32-bit modes 2021-02-22 19:32:52 +11:00
Andrew Murray
8fb5fd7f63 Updated tests for changed helper imports 2021-02-22 12:14:49 +11:00
nulano
c709aa3d28 minor test formatting cleanup 2021-02-22 12:03:01 +11:00
nulano
61ee8ec03c document and add tests for SBIX color font support 2021-02-22 12:00:20 +11:00
Andrew Murray
c0ee869c2c Only draw each rectangle outline pixel once 2021-02-22 07:48:58 +11:00
Andrew Murray
e763f8f2be Save interop IFD when converting Exif to bytes 2021-02-22 07:47:59 +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
3495b319bd Replaced various instances of assert_image_similar with assert_image_similar_tofile 2021-02-21 22:22:29 +11:00
Andrew Murray
a5c251029c Replaced various instances of assert_image_equal with assert_image_equal_tofile 2021-02-21 22:15:56 +11:00
Hugo van Kemenade
1857bf5570
Merge pull request #5259 from radarhere/warns 2021-02-17 21:31:15 +02:00
Andrew Murray
a1b4b026ff Added pragma no cover 2021-02-14 07:58:16 +11:00
Andrew Murray
83542c42bf Added context managers 2021-02-11 21:43:54 +11:00
Andrew Murray
4a0569e97f Changed zero length assertions to falsy 2021-02-11 13:48:31 +11:00
Andrew Murray
01be700081 Fixed asserting that no warnings were raised 2021-02-10 23:37:55 +11:00
Andrew Murray
57d6e8ca43 Added PyQt6 support 2021-02-10 21:12:32 +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
Piolie
4a9a999dbb
Update Tests/test_image.py
Keep the original test cases; add the most likely non-uppercase versions.

Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-02-05 12:21:27 -03:00
Piolie
0c1675a143 Make formats parameter in Image.open accept aNy cAsE 2021-02-04 22:47:53 -03:00
Andrew Murray
63f21609c0 Added context manager 2021-02-02 23:39:53 +11:00
Andrew Murray
11cb3fba9c Added test 2021-01-30 13:01:42 +11:00
Andrew Murray
e4b9f88de4 Updated test now that Win32 uses map_buffer 2021-01-30 12:59:45 +11:00
Andrew Murray
eb7e5d2797 Moved test that requires libtiff 2021-01-29 08:00:37 +11:00
Andrew Murray
b39977e1c2 Document license for several fonts 2021-01-21 21:33:35 +11:00
Andrew Murray
ac31061f22 Handle PCX images with an odd stride 2021-01-21 19:29:11 +11:00
wiredfool
e40a07bca6
Merge pull request #5150 from wiredfool/valgrind_tests
Support for ignoring tests when running valgrind
2021-01-16 16:56:55 +00:00
Andrew Murray
7b4b356fc0 Test for incorrect PixelAccess arguments 2021-01-14 22:09:11 +11:00
Andrew Murray
bdbf1694fc Allow PixelAccess to use Python __int__ when parsing x and y 2021-01-14 21:31:25 +11:00
Eric Soroos
1d0149c369 feck8 2021-01-07 15:26:23 +01:00
Eric Soroos
a6fa139f62 useless reptile 2021-01-07 14:57:49 +01:00
Eric Soroos
1d7c8e03d0 known failing tests from valgrind -- uninitialized values 2021-01-07 14:52:02 +01:00
Andrew Murray
a58ff327d4 Moved imports to top of file 2021-01-07 14:52:02 +01:00
Andrew Murray
59ee809f13 Updated capitalisation
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2021-01-07 14:52:02 +01:00
Andrew Murray
d35995f945 Lint fixes 2021-01-07 14:52:02 +01:00
Eric Soroos
bd38487324 Ignore this test in valgrind -- the metadata values don't make logical sense. 2021-01-07 14:52:02 +01:00
Eric Soroos
59ed81f838 Add pytest configuration for patching around an unknown valgrind mark 2021-01-07 14:52:02 +01:00
Andrew Murray
eaeaa181dd
Removed unused import 2021-01-07 23:18:24 +11:00
Eric Soroos
37a7c601cc uglify 2021-01-07 13:07:28 +01:00
Eric Soroos
ffbaa6523d Internal support for oss-fuzz testing 2021-01-07 12:55:11 +01:00
Piolie
bc5ecfb79c Make minor changes to tests
- add test for maxcolors;
- extend coverage for wrong magic number;
- fix linting.
2021-01-06 14:53:30 -03:00
Piolie
002e0bd697 Add tests for token size and wrong magic number 2021-01-06 01:21:35 -03:00
Piolie
5d0ad5e2e9 Revert exception types to ValueError 2021-01-06 01:21:01 -03:00
Andrew Murray
2341c6b933
Merge branch 'master' into jp2-decode-subsample 2021-01-04 23:25:09 +11:00
Jan Solanti
ddd3a2b482 Add tests for issue #4142 2021-01-04 22:47:18 +11:00
Andrew Murray
c8dd1c8422
Merge pull request #5175 from radarhere/tiff
Fix TIFF OOB Write error
2021-01-02 21:13:28 +11:00
Andrew Murray
0117694533
Merge pull request #5174 from radarhere/pcx
Fix for Read Overflow in PCX Decoding
2021-01-02 21:00:25 +11:00
Andrew Murray
903c67353d Lint fix 2021-01-02 20:41:17 +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
wiredfool
eb8c1206d6 Fix CVE-2020-35654 - OOB Write in TiffDecode.c
* In some circumstances with some versions of libtiff (4.1.0+), there
  could be a 4 byte out of bound write when decoding a YCbCr tiff.
* The Pillow code dates to 6.0.0
* Found and reported through Tidelift
2021-01-02 20:37:48 +11:00
Andrew Murray
1cbb12fb6e Lint fix 2021-01-02 20:19:26 +11:00
Eric Soroos
7e95c63fa7 Fix for SGI Decode buffer overrun CVE-2020-35655
* Independently found by a contributor and sent to Tidelift, and by Google's OSS Fuzz.
2021-01-02 20:09:58 +11:00
Hugo van Kemenade
07bbc46589
Merge pull request #5149 from wiredfool/gif_write_oob_read 2021-01-02 10:14:17 +02:00
Hugo van Kemenade
effa65cb38 Refactor 2021-01-01 20:37:16 +02:00
Hugo van Kemenade
4e3dc9a06b Add support for PySide6 2021-01-01 20:34:44 +02:00
Andrew Murray
db3b5108dc Changed MP Type to match #1631 image 2021-01-01 13:00:01 +11:00
Andrew Murray
6175389186 Only read different sizes for "Large Thumbnail" frames 2021-01-01 12:45:02 +11:00
Andrew Murray
62693b7c54 Moved QApplication into one test 2021-01-01 11:33:20 +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
77b16efba3 Corrected argument 2020-12-31 16:25:46 +11:00
Andrew Murray
3c482b1b0b Changed list of single item dictionaries to dictionary 2020-12-30 23:10:29 +11:00
Andrew Murray
8c8b110035 Check string value 2020-12-30 22:40:39 +11:00
Andrew Murray
06b7b97a7a Use isinstance to check type 2020-12-30 22:39:49 +11:00
Andrew Murray
17c48db318 Use context manager 2020-12-30 22:35:54 +11:00
Andrew Murray
800a265f1c Test ICNS on all operating systems 2020-12-30 13:09:30 +11:00
Andrew Murray
86ad435ee4
Merge branch 'master' into master 2020-12-30 13:05:35 +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
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
3e9403af56 XMP feature added 2020-12-27 22:32:42 -06:00
UrielMaD
096854d1c8 XMP feature added 2020-12-27 22:29:51 -06:00
UrielMaD
7968279c13 XMP feature added 2020-12-27 22:24:38 -06:00
UrielMaD
cc8070aec5 XMP feature added 2020-12-27 21:39:36 -06:00
UrielMaD
b1b7d2ff18 XMP feature added 2020-12-27 21:37:15 -06:00
UrielMaD
b802588223 XMP feature added 2020-12-27 20:49:28 -06:00
UrielMaD
08935aeaca XMP feature added 2020-12-27 20:09:10 -06:00
UrielMaD
ee5d05ae21 XMP feature added 2020-12-27 20:01:56 -06:00
UrielMaD
4ff5546203 XMP feature added 2020-12-27 20:00:04 -06:00
UrielMaD
c84f1058ea XMP feature added 2020-12-27 19:54:06 -06:00
UrielMaD
2474cc2db6 XMP feature added 2020-12-27 19:52:46 -06:00
Eric Soroos
d96945b7c8 Fix Out of bounds read when saving GIF of xsize=1 2020-12-27 16:01:26 +01: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
46f7b4a439
Updated test name and text 2020-12-24 10:50:43 +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
699afe1e89 Improve PPM tests 2020-12-21 22:39:32 -03:00
Andrew Murray
8794610c76 Block TIFFTAG_SUBIFD 2020-12-22 11:38:02 +11:00
Andrew Murray
83d82ae150
Merge pull request #5098 from hugovk/deprecate-freetype
Deprecate FreeType 2.7
2020-12-20 13:35:41 +11:00
Andrew Murray
c52c3ae3e2
Merge pull request #5102 from hugovk/add-path-tests
Add tests for ImagePath.Path
2020-12-20 07:43:56 +11:00
Andrew Murray
b0af0d4076 Travis CI is no longer used 2020-12-19 21:57:32 +02:00
Hugo van Kemenade
9e21ef7338 Remove old Travis CI config 2020-12-19 21:57:32 +02:00
Hugo van Kemenade
ceaed2e058 Add tests for ImagePath.Path 2020-12-18 22:54:48 +02:00
Hugo van Kemenade
2b319f2ce4 Simplify: remove class 2020-12-18 22:54:40 +02: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
nulano
db35e6404e remove FreeType<2.7 metrics in test_imagefont 2020-12-12 15:29:41 +01:00
nulano
a3ab868b0f xfail tests failing on ppc64le on GHA
(cherry picked from commit 9c7fb5bd14c3064fede96131a0f7f67abf26a4e7)
2020-12-12 15:26:42 +01:00
nulano
989c9b303a xfail failing libtiff tests on big-endian
(cherry picked from commit 25ce233edf732edb5660f877365379377a64f136)
2020-12-12 15:26:42 +01:00
Andrew Murray
a666c91e10 Allow putpalette to accept 1024 integers to include alpha values 2020-12-12 14:12:30 +11:00
nulano
86993df834 remove duplicate values 2020-11-25 07:38:13 +00:00
nulano
74048f9b4f remove FT 2.3 from tests 2020-11-25 07:27:11 +00:00
Hugo van Kemenade
85e991e5b6 Don't include test-skipping 'except' in coverage 2020-11-04 16:05:51 +02:00
Andrew Murray
a357ff12ad Simplified test 2020-11-04 22:39:25 +11:00
Andrew Murray
d1650cb2b3 Document FreeMono license [ci skip] 2020-10-23 21:08:06 +11:00
nulano
2586b7ddef add tests for subsampled jpeg2000 image decoding 2020-10-20 07:16:28 +01:00
Andrew Murray
f886bc973b Moved string_dimension image to pillow-depends 2020-10-19 21:32:56 +11:00
gofr
9980981c2e De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables
Re-order the JPEG quantization tables to normal order when
loading. This wastes a few CPU cycles if you don't need them.
But it has the advantage of hiding the zigzag order JPEG
implementation detail of these tables completely from Pillow
users.

This difference has led to cases where:
* arrays in zigzag order were taken from a dict and passed
  directly as a qtables parameter, causing them to be "zigzagged"
  again by libjpeg.
* dicts with lists in normal order being passed to
  JpegImagePlugin.convert_dict_qtables, causing them to be
  unnecessarily "de-zigzagged".
2020-10-17 20:20:59 +02:00
Hugo van Kemenade
b074d87179
Merge pull request #4760 from qiankanglai/dds-rgba8888
Support raw rgba8888 for dds
2020-10-15 08:10:01 +03:00
Hugo van Kemenade
1cb3e2f742
Merge pull request #4918 from gofr/4825-jpeg-16-bit-qt 2020-10-14 17:58:12 +03:00
Andrew Murray
1a3367400c Added reading of IFD tag type 2020-10-14 23:37:54 +11:00
mergify[bot]
50787ad2c4
Merge pull request #4971 from radarhere/freetype
Updated freetype to 2.10.3
2020-10-13 06:10:01 +00:00
Hugo van Kemenade
9a93f6ee45
Merge pull request #4959 from nulano/anchor-part3 2020-10-12 19:27:08 +03:00
Hugo van Kemenade
c7b0fe1bca
Merge pull request #4963 from nulano/implicit-function 2020-10-12 19:23:40 +03:00
nulano
c277ff4304 remove old PyPy compatibility code 2020-10-12 16:14:51 +01:00
nulano
b49ebad5f5 Merge remote-tracking branch 'upstream/master' into anchor-part3 2020-10-12 16:14:00 +01:00
nulano
cb3f6c09e7 add spaces between pytest.mark.parametrize parameters 2020-10-12 16:08:16 +01:00
Hugo van Kemenade
c1a9f889f3
Merge pull request #4964 from nulano/pypy 2020-10-12 17:59:55 +03:00
nulano
90e8255ba4 Merge remote-tracking branch 'upstream/master' into anchor-part3
# Conflicts:
#	Tests/test_imagefontctl.py
2020-10-12 15:50:45 +01:00
Hugo van Kemenade
309cb9e5c4
Merge pull request #4927 from radarhere/tuple 2020-10-12 14:40:22 +03:00
Hugo van Kemenade
43c3f4de80
Merge pull request #4955 from nulano/ft-color3 2020-10-12 13:52:01 +03:00
Andrew Murray
518b783c64 Removed OSError in favour of DecompressionBombError 2020-10-12 19:32:48 +11:00
nulano
40c9a5a2a0 compatibility for LCMS<2.7, vix LCMS version string 2020-10-12 02:58:24 +01:00
nulano
c06bb8044d remove PyPy3-7.1.x compatibility code 2020-10-12 02:08:50 +01:00
nulano
df2ea75683 remove redundant test file 2020-10-11 22:39:07 +01:00
nulano
b5fe0e7986 add helper.skip_unless_feature_version 2020-10-11 22:26:11 +01:00
nulano
d84185579e move bitmap font tests to test_imagefont 2020-10-11 21:45:10 +01:00
nulano
b85fabca70
Apply suggestions from code review
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-10-11 22:25:16 +02:00
Hugo van Kemenade
15c339470d
Merge pull request #4523 from xtsm/ellipse
Implemented another ellipse drawing algorithm
2020-10-11 18:04:34 +03:00
Andrew Murray
166cc00843 Updated freetype to 2.10.3 2020-10-11 21:35:21 +11:00
gofr
938e251088 Add new JPEG test image 2020-10-10 20:08:39 +02:00
gofr
d54dc4062f fixup! Add tests for loading/saving of 16-bit quantization tables 2020-10-10 20:01:28 +02:00
gofr
2f0544b542 Add tests for loading/saving of 16-bit quantization tables 2020-10-10 18:53:49 +02:00
nulano
1551e120ae add textlength and textbbox to ImageDraw 2020-10-09 01:02:51 +01:00
nulano
395aa946a9 add getbbox and getlength, with tests
Squashed commits:

[ec9ec31b] add tests for invalid anchor
(cherry picked from commit 9e50a6a47f79876ee56942152047f03fff03c49b)

[386a9170] fix lint and docs
(cherry picked from commit 2d0d5282fcfc3ee332a41e60b865ee766445cc3d)

[29f5d4c9] restore and document previous getsize behaviour
see discussion in issue 4789
(cherry picked from commit 9fbc94571ce0ed42fdd11e99f343a1613c9dc6d3)

[0ffd51a0] add getbbox and getlength, with tests
(cherry picked from commit c5f63737476a998c81e589e5819d21ca69bb7b46)
2020-10-09 00:56:58 +01:00
nulano
786eaf11e2 downgrade NotoColorEmoji to minimize size 2020-10-07 13:31:05 +01:00
nulano
24f3d85a3e add test for {1bpp, 2bpp, 4bpp, 8bpp} bitmap fonts 2020-10-07 11:57:15 +01:00
nulano
28d313305a fix tests 2020-10-07 05:29:18 +01:00
nulano
55db572467 add tests for opaque COLR and CBDT fonts 2020-10-07 05:29:18 +01:00
nulano
9151da162c add support for CBDT and embedded bitmaps in truetype fonts 2020-10-07 05:29:17 +01:00
Hugo van Kemenade
a7f384a813
Merge pull request #4292 from radarhere/private_png_chunks
Added reading and writing of private PNG chunks
2020-10-05 23:49:09 +03:00
Hugo van Kemenade
b29cab08d3
Merge pull request #4930 from nulano/anchor-part2 2020-10-05 20:19:33 +03:00
Andrew Murray
7a1f0f6a8f Fixed bug in Exif __delitem__ 2020-10-05 09:45:05 +11:00
nulano
8cdac68706 Revert "Skip due to segmentation fault"
This reverts commit 7711a4c94d.
2020-10-04 22:48:23 +01:00
Hugo van Kemenade
7711a4c94d Skip due to segmentation fault 2020-10-04 00:33:31 +03:00
nulano
7d284b72ab
f-strings!
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-09-22 22:19:04 +01:00
Andrew Murray
26bf1c3524 Moved CVE images to pillow-depends 2020-09-23 00:14:40 +10:00
nulano
0838d8ea62 add tests for multiline text with anchor 2020-09-22 14:58:21 +02:00
nulano
3fc1be06e6 add and fix tests for text anchors 2020-09-22 11:31:43 +02:00
Andrew Murray
b304a13bca Updated test 2020-09-22 13:06:52 +10:00
Andrew Murray
27c0747518 Allow tuples with one item to give single color value in getink 2020-09-20 14:23:05 +10:00
Hugo van Kemenade
93d011efb5
Merge pull request #4910 from nulano/anchor-part1 2020-09-19 13:41:15 +03:00
Andrew Murray
c196af6ddb Fixed loading profile with non-ASCII path on Windows 2020-09-13 13:53:58 +10:00
nulano
d1edf86953 tests cleanup 2020-09-09 05:35:55 +02:00
nulano
ee1cc6ad7c remove use of FT_Set_Transform 2020-09-09 02:14:49 +02:00
nulano
54e067779b fix and add tests
(cherry picked from commit 0b711f10d0490863976699c051f2027b6799d501) (+1 squashed commits)

Squashed commits:

[9d4e6c17] fix tests
2020-09-09 02:12:21 +02:00
Andrew Murray
c83ffc6aea Fixed effect_spread bug for zero distance 2020-09-08 18:51:58 +10:00
Andrew Murray
fac2d2781e
Merge pull request #4837 from nulano/formats
Add formats parameter to open
2020-09-05 20:49:59 +10:00
Andrew Murray
9c22425881 Lint fix 2020-09-05 13:32:59 +10:00
Hugo van Kemenade
3dba4ee10a
Merge pull request #4846 from comhar/features/compute_polygon_coordinates 2020-09-04 23:28:43 +03:00
nulano
a340dc5fd3 Merge remote-tracking branch 'upstream/master' into formats 2020-09-04 21:07:34 +02:00
Hugo van Kemenade
799fa9764f
Merge pull request #4882 from nulano/putpixel 2020-09-03 19:22:30 +03:00
Hugo van Kemenade
ddc4c64664
Merge branch 'master' into rm-3.5 2020-09-02 20:36:30 +03:00
Hugo van Kemenade
9f1f63a46b
Merge pull request #4862 from radarhere/subifds 2020-09-02 16:58:55 +03:00
Andrew Murray
186a4723c8 Added test for empty GPS IFD 2020-09-02 21:14:36 +10:00
Hugo van Kemenade
e0eec1eb56 Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
Andrew Murray
bb013270af Removed trailing comma 2020-08-31 18:50:15 +10:00
Andrew Murray
298b7d0333 Update pre-commit 2020-08-31 18:50:15 +10:00
Andrew Murray
0a46cbfea9 Reverted NaN change, so that NaN != NaN 2020-08-28 20:55:47 +10:00
luphord
4bb35c57dd clarify comment
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-08-28 20:47:17 +10:00
luphord
ae5e0218e9 remove whitespace 2020-08-28 20:47:17 +10:00
luphord
1fd9ccfe3c test Exif self-equality 2020-08-28 20:47:16 +10:00
luphord
9db5266fa7 test IFDRational equality 2020-08-28 20:47:16 +10:00
Andrew Murray
0af193afc0 Added test 2020-08-24 21:32:55 +10:00
Hugo van Kemenade
27d34d2f13
Merge pull request #4823 from radarhere/close
Do not try to close file pointer if file pointer is empty
2020-08-23 14:26:11 +03:00
Tommy C
b142560488 Rename b_circle and bounding_circle + accept ((x0, y0), r)
Summary of changes

- Rename `b_circle` and `bounding_circle`
-`bounding_circle` now accepts both formats below:
    - (x0, y0, r)
    - ((x0, y0), r)
2020-08-22 20:19:23 +01:00
nulano
4b2a0173d3 group test cases
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-08-21 14:11:47 +02:00
nulano
76a51270fa split up test 2020-08-20 23:23:15 +02:00
Tommy C
df9329f9f0 Replace bbox with b_circle, kwargs with args + minor tweaks
Summary of changes:
 - `ImageDraw.regular_polygon` now accepts a bounding circle which
inscribes the polygon. A bounding circle is defined by a center point
(x0, y0) and a radius. A bounding box is no longer accepted.
 - All keyword args have been replaced with positional args.

Misc
- Test image file renaming, minor variable name changes
2020-08-20 20:46:11 +01:00
nulano
4bb78d53a3 give proper error message for invalid putpixel color type 2020-08-20 00:01:03 +02:00
Tommy C
ac7d41545d Update regular_polygon args + arg checks
Summary of changes

- Allow positional args in `regular_polygon` method
- Allow multiple bounding box formats
    - (e.g. bbox = [(x0, y0), (x1, y1)] or [x0, y0, x1, y1])
- Check if bounding box is square
- Update var names
    - b_box => bbox
    - nb_sides => n_sides
2020-08-16 21:07:16 +01:00
Tommy C
0ed01dd964 Add ImageDraw.regular_polygon 2020-08-16 13:29:13 +01:00
Andrew Murray
14af7bb5ac Do not try to close fp if fp is empty 2020-08-15 13:07:14 +10:00
Hugo van Kemenade
ef986e376f
Merge branch 'master' into master 2020-08-13 23:58:42 +03:00
Andrew Murray
e96109b93c Added writing of subIFDs 2020-08-13 22:25:24 +10:00
Hugo van Kemenade
1fe4070af6 Drop support for EOL Python 3.5 2020-08-11 22:29:44 +03:00
Hugo van Kemenade
fdc09206d0
Merge pull request #4828 from radarhere/exif_text 2020-08-11 21:52:12 +03:00
navneeth
2d3a841e4b testing with approx tuple to fix ubuntu test failures 2020-08-12 00:08:29 +09:00
navneeth
d0de431fe4 testing with approx tuple to fix ubuntu test failures 2020-08-12 00:06:16 +09:00
navneeth
01aeaa4cad added explicit test for autocontrast implementation - pixel value check 2020-08-11 23:47:48 +09:00
navneeth
4841bbe2a5 added explicit test for autocontrast implementation - pixel value check 2020-08-11 23:36:39 +09:00
Hugo van Kemenade
cb26b4d40f
Merge branch 'master' into master 2020-08-09 13:57:46 +03:00
Hugo van Kemenade
dd87dd50c0 Update to isort 5 with Black profile support 2020-08-08 22:39:29 +03:00
Navneeth Subramanian
faf913d0f8
Update Tests/test_imageops.py
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-08-08 19:32:52 +09:00
navneeth
fa493809a6 ENH: Autocontrast - Code review feedback 2020-08-07 14:31:17 +09:00
navneeth
8fad541531 ENH: Autocontrast method enhancement - adding the option to specify mask for contrast computation 2020-08-06 09:00:13 +09:00
nulano
2b061b68db add formats parameter to Image.open to restrict list of formats attempting to read an image file 2020-08-03 00:24:02 +02:00
Andrew Murray
5da1a8adcf Read EXIF data tEXt chunk into info as bytes instead of string 2020-07-31 17:42:48 +10:00
Hugo van Kemenade
10615a7da7 Upgrade Python syntax for 3.6+
Co-authored-by: nulano <nulano@nulano.eu>
2020-07-30 10:09:18 +03:00
Hugo van Kemenade
48c7d84bf7
Merge pull request #4814 from radarhere/sysconfig 2020-07-29 09:50:41 +03:00
Andrew Murray
fda22ed82e Removed unused variables 2020-07-29 07:54:33 +10:00
Andrew Murray
a10634e13f Do not explicitly import distutils 2020-07-26 14:59:30 +10:00
Andrew Murray
42bb401e88 Replaced distutils sysconfig 2020-07-25 20:03:27 +10:00
Andrew Murray
11de331886
Merge pull request #4798 from hugovk/rm-deprecated-notimplemented
Remove long-deprecated Image.py functions
2020-07-24 20:48:20 +10:00
Andrew Murray
b243a6113e
Merge pull request #4797 from hugovk/rm-distutils.version
Replace distutils.version with packaging.version.parse
2020-07-19 08:12:31 +10:00
Hugo van Kemenade
0b7077a385
Merge pull request #4788 from samamorgan/master 2020-07-17 11:07:56 +03:00
Hugo van Kemenade
40aefc6ba5 Remove im.offset, deprecated in 2001; and fromstring and tostring, deprecated in 2013 2020-07-17 10:55:20 +03:00
Sam Morgan
74e02e6c4e Add test for PSD mimetype 2020-07-16 08:26:42 -07:00
Hugo van Kemenade
304d3c1080 Replace distutils.version with packaging.version.parse, distutils will eventually be removed from stdlib 2020-07-16 14:57:39 +03:00
Jakub Kulík
ee856bdc25 Fix expected failures on big endian systems without CI 2020-07-16 11:04:16 +02:00
Hugo van Kemenade
559510b378 Remove attributes deprecated since 3.2.0 2020-07-09 23:53:22 +10:00
Kanglai Qian
b5c59878da support raw rgba8888 for dds 2020-07-07 00:22:57 +08:00
Hugo van Kemenade
ec6f2d41f8
Merge pull request #4749 from millionhz/autocontrast 2020-07-05 12:10:23 +03:00
Andrew Murray
9432bba6d1 Moved tests 2020-07-02 20:28:00 +10:00
Andrew Murray
4b5eab4c17 Simplified code 2020-07-02 19:14:28 +10:00
Hamza
16e804b892 linting fixed 2020-07-01 04:37:17 +05:00
Hamza
cbf4f328c7 fixed tests 2020-07-01 04:20:19 +05:00
Hamza
b768cc09d7 added test 2020-07-01 04:01:06 +05:00
Stanislau Tsitsianok
88651c334f
Try to fix CI 2020-06-29 23:58:58 +03:00
Stanislau Tsitsianok
7dedb1402f
Merge remote-tracking branch 'upstream/master' into ellipse 2020-06-29 23:31:25 +03:00
Stanislau Tsitsianok
5830a641cc
Added more tests 2020-06-29 23:31:04 +03:00
Stanislau Tsitsianok
9a9d3a050a
Fixed tests 2020-06-29 22:49:11 +03:00
Hugo van Kemenade
74a4c88a12
Merge pull request #4741 from radarhere/icns 2020-06-29 20:21:51 +03:00
Hugo van Kemenade
645f7f2346
Merge pull request #4742 from radarhere/apng_dispose
Fixed loading non-RGBA mode APNGs with dispose background
2020-06-29 17:15:34 +03:00
Andrew Murray
4cf7c562e4
Merge pull request #4726 from hugovk/fix-png-disposal-comparison-bug
APNG: Fix setting disposal
2020-06-30 00:01:15 +10:00
Andrew Murray
cd01a5ab9f Added disposal test 2020-06-29 22:02:01 +10:00
Andrew Murray
cdf4936c07 Fixed loading non-RGBA mode images with dispose background 2020-06-29 21:20:57 +10:00
Andrew Murray
1e8d418f42 Fixed ICNS file pointer saving 2020-06-28 17:24:27 +10:00
Hugo van Kemenade
b4e7202dcb
Merge pull request #4698 from nulano/skips 2020-06-27 14:19:49 +03:00
Hugo van Kemenade
d641bdc504
Fix isort 2020-06-27 14:05:34 +03:00
Hugo van Kemenade
f6cb5efa15
Merge pull request #4714 from radarhere/show
Deprecated _showxv
2020-06-25 23:15:51 +03:00
Hugo van Kemenade
7dd8837967
Merge pull request #4647 from radarhere/blocklist
Allow libtiff to write COLORMAP tag
2020-06-25 23:04:29 +03:00
Andrew Murray
ee06255ff0 Deprecated _showxv 2020-06-23 22:20:58 +10:00
Hugo van Kemenade
71fadd5c67
Merge pull request #4722 from radarhere/line 2020-06-23 14:53:56 +03:00
Andrew Murray
9979efff12
Merge pull request #4646 from nulano/show-command
Deprecate Image.show(command="...")
2020-06-23 19:47:57 +10:00
Andrew Murray
b042483baa Replaced assert_image_similar with assert_image_similar_tofile 2020-06-23 19:17:41 +10:00
Andrew Murray
c1fe0b4e0c Use hypot function 2020-06-23 19:17:00 +10:00
Kirill Kuzminykh
6d2fe429c2 Reformat code of `test_file_jpeg.py. 2020-06-22 12:20:57 +03:00
Andrew Murray
95ace8a39c
Merge branch 'master' into fix_jpeg_magic_number 2020-06-22 18:42:58 +10:00
Hugo van Kemenade
1bc67c9f0f
Merge pull request #4700 from nulano/features-version 2020-06-21 21:36:46 +03:00
nulano
12ddff729b
Merge branch 'master' into skips 2020-06-21 18:05:27 +01:00
Hugo van Kemenade
7b759e160a
Merge pull request #4615 from nulano/clipboard-png 2020-06-21 18:56:04 +03:00
Hugo van Kemenade
390b34c231
Merge pull request #4664 from nulano/ft-getsize-mode 2020-06-21 18:53:03 +03:00
nulano
d5a6b2584e add tests for version numbers 2020-06-21 18:59:01 +10:00
nulano
a324f4a466 add version to features info block 2020-06-21 18:58:39 +10:00
Andrew Murray
8383e840e4
Merge pull request #4626 from radarhere/stripbytecounts
Change STRIPBYTECOUNTS to LONG if necessary when saving
2020-06-21 09:02:56 +10:00
Hugo van Kemenade
bcb8cbbf22
Merge pull request #4639 from radarhere/jfif
Write JFIF header when saving JPEG
2020-06-20 15:54:11 +03:00
Hugo van Kemenade
2d9dcc7657
Merge pull request #4627 from radarhere/tiff_jpeg
Replaced tiff_jpeg with jpeg compression when saving TIFF images
2020-06-20 15:49:09 +03:00
Andrew Murray
d728cd5875 Allow libtiff to write COLORMAP tag 2020-06-20 22:38:38 +10:00
Hugo van Kemenade
7d9ac36e42
Merge pull request #4605 from radarhere/byte_tags
Writing TIFF tags: improved BYTE, added UNDEFINED
2020-06-20 15:33:18 +03:00
Hugo van Kemenade
b9a087d482
Merge pull request #4566 from radarhere/text
Consider transparency when pasting text on an RGBA image
2020-06-20 15:02:59 +03:00
Hugo van Kemenade
713dd17c8f
Merge pull request #4547 from radarhere/webp
Added method argument to single frame WebP saving
2020-06-20 14:04:01 +03:00
Andrew Murray
65742cfc95 Renamed test 2020-06-20 09:57:51 +10:00
Andrew Murray
abbc890b20 Replaced OSError with more specific UnidentifiedImageError 2020-06-20 09:51:48 +10:00
Andrew Murray
3e9068a345 Decreased length of test image data 2020-06-20 09:48:55 +10:00
Kirill Kuzminykh
f99e0b824b Replaced primitive "magic number" inside of JpegImagePlugin._accept() function by more correct version. 2020-06-18 16:18:18 +03:00
Andrew Murray
6ad98ba3c0 Do not ignore viewer if order is zero when registering 2020-06-18 21:40:38 +10:00
Stanislau Tsitsianok
27109c9011
Merge remote-tracking branch 'upstream/master' into ellipse 2020-06-16 20:20:44 +03:00
Hugo
e2e8db4fe8 Fix isort 2020-06-15 11:30:08 +01:00
nulano
dc41a4ec21 use skip_unless_feature in more tests 2020-06-14 20:21:30 +02:00
nulano
fc92f56382 replace skip_known_bad_test with xfail 2020-06-14 20:21:26 +02:00
nulano
12cd02bd2d use xfail for failing tests 2020-06-14 19:38:21 +02:00
Andrew Murray
7d1f5ba91b Removed test skips for MinGW 2020-06-14 23:08:21 +10:00
Andrew Murray
05932c4cbc Updated harfbuzz to 2.6.7 2020-06-14 22:23:19 +10:00
Hugo van Kemenade
3bbcd7b3de
Merge pull request #4642 from nulano/gha-msys 2020-06-13 13:26:00 +03:00
Andrew Murray
2d284aea12 Allow writing of UNDEFINED tags 2020-06-10 16:09:22 +10:00
Andrew Murray
859b27572b Removed forcing of BYTE to ASCII 2020-06-10 16:09:22 +10:00
Andrew Murray
7ecb5aaf7e BYTE tags of variable length are only single strings 2020-06-10 16:09:22 +10:00
Hugo van Kemenade
794e9f0f0e
Merge pull request #4637 from radarhere/v2
Use ImageFileDirectory_v2 in Image.Exif
2020-06-10 06:55:15 +03:00
Andrew Murray
ebd6901c95
Merge pull request #4673 from hugovk/yesqa
Remove redundant noqa
2020-06-08 21:02:15 +10:00
Hugo van Kemenade
b6d6f77262
Merge pull request #4675 from radarhere/polygon
Fixed drawing a 1px high polygon
2020-06-08 08:57:02 +03:00
Andrew Murray
0cc2e696cb Corrected reading EXIF metadata without prefix 2020-06-07 20:01:04 +10:00
Andrew Murray
eeb9e719e3 Fixed drawing a 1px high polygon 2020-06-07 12:07:13 +10:00
Hugo
c8e3757e72 Run yesqa to remove redundant noqa 2020-06-06 14:54:58 +03:00
Andrew Murray
ec9015bea4
Renamed variable
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-06-06 19:42:24 +10:00
Andrew Murray
e228cfcec7 Lint fixes 2020-06-06 12:08:37 +10:00
Hugo van Kemenade
52c66bbcfb
Merge pull request #4580 from radarhere/curve
Fixed drawing a jointed line with a sequence of numeric values
2020-06-04 12:03:25 +03:00
Andrew Murray
a5ef2b4499 Parametrized test 2020-06-04 07:56:14 +10:00
Hugo van Kemenade
4363507d16
Merge pull request #4608 from radarhere/numpy 2020-06-03 18:43:47 +03:00
Andrew Murray
ccac9e1a3a Changed to ImageFileDirectory_v2 2020-06-03 22:11:51 +10:00
nulano
2dd9324df2 add mono color text test 2020-06-01 22:18:38 +02:00
Hugo van Kemenade
02d55b79c1
Merge pull request #4560 from radarhere/xmp 2020-06-01 10:49:00 +03:00
Andrew Murray
696aa7972d Parametrized test 2020-05-26 07:15:20 +10:00
nulano
d54fee9863 move import 2020-05-25 22:21:51 +02:00
nulano
66954ad176 deprecate Image.show(command="...") 2020-05-25 18:57:02 +02:00
nulano
21325b8ce3 Merge remote-tracking branch 'upstream/master' into gha-msys
# Conflicts:
#	.appveyor.yml
#	.github/workflows/test-windows.yml
2020-05-25 17:37:26 +02:00
Hugo van Kemenade
f4fb9c5403
Merge pull request #4625 from radarhere/thumbnail 2020-05-25 17:08:25 +03:00
nulano
9640b48040 Merge branch 'master' of github.com:python-pillow/Pillow into winbuild-rewrite
# Conflicts:
#	.github/workflows/test-windows.yml
#	winbuild/config.py
#       winbuild/build_prepare.py
2020-05-25 14:32:21 +02:00
Andrew Murray
660894cd36 Write JFIF header when saving JPEG 2020-05-24 23:58:30 +10:00
nulano
d2f90d6cac fix freetype and raqm on MSYS 2020-05-23 23:16:06 +02:00
Andrew Murray
ac11fa7d1a
Merge pull request #4620 from ElinksFr/fix-gbr-image-loading
Fix repeatedly loading .gbr
2020-05-17 11:34:58 +10:00
Andrew Murray
45c4ba7a5f Simplified test case 2020-05-17 11:04:02 +10:00
Andrew Murray
df886ed386
Merge pull request #4290 from bluepython508/fix_djpeg_load_test
Fixes djpeg load test
2020-05-16 19:53:18 +10:00
Andrew Murray
aa1761bc9f Replace tiff_jpeg with jpeg compression when saving 2020-05-15 22:37:13 +10:00
Andrew Murray
b3604167ad Change STRIPBYTECOUNTS to LONG if necessary when saving 2020-05-15 20:47:57 +10:00
Andrew Murray
b8ec793898 Fixed ZeroDivisionError in thumbnail 2020-05-15 18:29:52 +10:00
Hugo
837bc0ad9c Fix broken string 2020-05-13 10:21:10 +03:00
Simon Andrieux
15ae39674e fix reading from empty buffer when loading .gbr 2020-05-11 17:38:42 +02:00
nulano
1656edaf41 fix docs compliance for CF_HDROP 2020-05-09 10:44:19 +02:00
nulano
5728662c7f add support for CF_DIBV5, CF_HDROP, and 'PNG' in ImageGrab.grabclipboard() on win32 2020-05-09 09:40:58 +02:00
Stanislau Tsitsianok
305b61ed1c
Added test with various ellipse sizes 2020-05-08 23:54:17 +03:00
Alexander
f15e4a8e06 truncate icclist instead of changing to None 2020-05-08 19:48:20 +03:00
Andrew Murray
59957fb8d8 Added support for 1-D NumPy arrays 2020-05-04 20:07:23 +10:00
Andrew Murray
c04013fa74
Merge branch 'master' into winbuild-rewrite 2020-05-02 00:20:14 +10:00
Rodrigo Benenson
83125b5ae4
Checks over exif instead of reloeaded_exif
test_imagefile.py checks exif instead of reloaded_exif; making the tests pass when they should not.
2020-04-28 18:58:26 +02:00
Andrew Murray
727868d5d7 Increased epsilon to pass on Windows 2020-04-26 08:03:16 +10:00
Andrew Murray
f5e9252b12 Fixed drawing a jointed line with a sequence of numeric values 2020-04-24 18:48:10 +10:00
Andrew Murray
a0641b87c2 Assert that warning is raised 2020-04-20 19:27:09 +10:00
ziplantil
39f4738775 lint 2020-04-19 16:54:53 +03:00
ziplantil
52b9b4310c add test for ico append_images 2020-04-19 16:45:12 +03:00
Hugo
270bc4fc60 Don't show own deprecation warning in test logs 2020-04-19 13:59:40 +03:00
Andrew Murray
e10cab42f1 Consider transparency when drawing text on an RGBA image 2020-04-19 20:56:17 +10:00
Hugo van Kemenade
ddebe27eed
Merge pull request #4565 from radarhere/tiff_pickle
Fixed bug when unpickling TIFF images
2020-04-17 19:03:02 +03:00
Andrew Murray
9956a6c777 Fixed bug when unpickling TIFF images 2020-04-17 22:13:14 +10:00
Andrew Murray
76d96b6383 Removed default arguments from helper functions 2020-04-17 21:57:11 +10:00
Hugo van Kemenade
529e113505
Merge pull request #4561 from hugovk/fix-webp-pickle
Fix pickling WebP
2020-04-17 14:48:50 +03:00
Andrew Murray
e52b8cefe1 Skip test if webp is not available 2020-04-17 20:08:10 +10:00
Hugo
94751da23e Initialise __physical_frame = 0 and add pickle roundtrip tell test 2020-04-17 11:21:57 +03:00
Hugo
654229d1b9 GitHub Actions now sets CI=true 2020-04-16 20:42:29 +03:00
Hugo
913e79f010 Test the modes 2020-04-16 15:52:10 +03:00
Andrew Murray
f21816918e Allow ImageMagick zTXt chunks to be extracted after copy() 2020-04-16 21:14:19 +10:00
Andrew Murray
1e63f772f8 Parse orientation from XMP tags 2020-04-16 21:05:34 +10:00
Hugo
5529aba441 Skip webp test when webp not available 2020-04-16 12:56:12 +03:00
Hugo
cdf3c98103 Add failing test for pickling webp 2020-04-16 11:45:12 +03:00
Hugo
d62b9098dd Refactor other tests into test_pickle_image 2020-04-16 11:44:28 +03:00
Hugo
53a85f2a69 Refactor test_pickle_image to use pytest.mark.parametrize 2020-04-16 11:31:28 +03:00
nulano
9aa42c3fd6 fix AppVeyor 2020-04-12 11:55:31 +10:00
nulano
c6a1c551d9 cleanup build configuration 2020-04-12 11:55:01 +10:00
nulano
15ce881a2b fix appveyor 2020-04-12 11:53:45 +10:00
Andrew Murray
f17f1bc607 Added method argument to single frame WebP saving 2020-04-11 20:43:49 +10:00
Andrew Murray
7bb51a4aca Raise DeprecationWarning on raise_ioerror 2020-04-10 12:57:29 +03:00
Hugo
dda6145fce Since Python 3.3 IOError and WindowsError have been merged into OSError 2020-04-10 12:57:29 +03:00
Andrew Murray
5923f95f31 Adjusted symmetry test 2020-04-10 12:15:01 +10:00
Stanislau Tsitsianok
a491ed6889 fixed failing tests 2020-04-06 22:01:42 +10:00
Andrew Murray
f7144c1216 Added reading and writing of private PNG chunks 2020-04-06 21:57:45 +10:00
Andrew Murray
7475c06b1c Assert that seeking too far raises an EOFError 2020-04-05 15:29:13 +10:00
Andrew Murray
5ef382f612 Test all operating systems 2020-04-04 15:02:15 +11:00
Andrew Murray
6574552821 Removed redundant arguments 2020-04-02 19:17:54 +11:00
Hugo
2e9030ddca Initialise __frame = 0 in open, and test tell 2020-04-02 08:49:26 +03:00
Hugo
1c2b2b085a Add test case 2020-04-01 22:32:14 +03:00
Hugo van Kemenade
46f4a349b8
Merge pull request #4507 from hugovk/fix_tiff
Fix 2 buffer overflows in TIFF decoding
2020-04-01 12:51:04 +03:00
Hugo van Kemenade
ff60894d69
Merge pull request #4505 from hugovk/jpeg2k_overflow
Fix bounds overflow in JPEG 2000 decoding
2020-04-01 12:27:27 +03:00
Hugo van Kemenade
2ef59fdbae
Merge pull request #4504 from hugovk/sgi_fixes
Fix buffer overflow in SGI-RLE decoding
2020-04-01 12:27:14 +03:00
Hugo van Kemenade
0da1eca7cf
Merge pull request #4503 from hugovk/fix_fli_6.2.x
Fix multiple OOB reads in FLI decoding
2020-04-01 12:27:04 +03:00
Hugo
2092801e71 Format with Black 2020-04-01 11:02:50 +03:00
Eric Soroos
6e7c0ced68 Tests for tiff crashes 2020-04-01 11:02:40 +03:00
Hugo
ada137eba5 Fix Flake8 2020-04-01 10:52:21 +03:00
Eric Soroos
124f4bb591 Tests for PCX OOB Access 2020-04-01 10:50:48 +03:00
Hugo
6e86d235c8 Format with Black 2020-04-01 10:34:19 +03:00
Eric Soroos
30443d39bd Tests for jp2 overflow 2020-04-01 10:33:46 +03:00
Hugo
44096adf59 Convert from unittest to pytest 2020-04-01 10:19:15 +03:00
Hugo
78478dfcfb Black and isort 2020-04-01 10:13:12 +03:00
Eric Soroos
dd341f12d6 Tests for SGI Overruns 2020-04-01 10:12:21 +03:00
Hugo
11ef7ca53a Format with Black 2020-04-01 09:54:26 +03:00
Eric Soroos
00c6dd72d9 Tests for additional hits 2020-04-01 09:53:18 +03:00
Eric Soroos
19ff42bd68 tests for Fli OOB reads 2020-04-01 09:53:04 +03:00
Hugo van Kemenade
f27873a888
Merge pull request #4243 from pmrowla/apng
Add APNG support
2020-04-01 00:23:57 +03:00
Hugo van Kemenade
b5cf165f9e
Merge pull request #4260 from nulano/imagegrab_xcb
ImageGrab.grab() for Linux with XCB
2020-03-31 23:03:21 +03:00
Hugo van Kemenade
16e1d6a048
Merge pull request #4494 from hugovk/re-add-PILLOW_VERSION
Re-add deprecated PILLOW_VERSION to give projects more time to upgrade
2020-03-31 22:58:23 +03:00
Hugo van Kemenade
92c9961cea
Convert from unittest to pytest 2020-03-31 22:43:31 +03:00
Hugo van Kemenade
761edafed8
Merge branch 'master' into re-add-PILLOW_VERSION 2020-03-31 12:07:14 +03:00
Marcin Jaworski
37ee51de88 Update test_font_pcf_charsets to adhere to test architecture changes 2020-03-31 10:56:43 +02:00
Marcin Jaworski
85f62c424d Fix tests for charset aware PcfFontFile 2020-03-31 10:20:43 +02:00
Marcin Jaworski
422efd68c3 Add tests for charset aware PcfFontFile 2020-03-31 10:20:43 +02:00
Hugo van Kemenade
c6115c1ceb
Merge pull request #4230 from dwastberg/new_chops
Added three new channel operations
2020-03-31 10:24:44 +03:00
Andrew Murray
750bbc7256 Parametrized test 2020-03-31 17:41:52 +11:00
Andrew Murray
7597a9fbfd Raise warning for more operations 2020-03-31 17:41:47 +11:00
Andrew Murray
027d180eda Raise a DeprecationWarning when comparing PILLOW_VERSION 2020-03-30 21:53:02 +11:00
Andrew Murray
5a511c6a8b
Merge pull request #4474 from radarhere/reduce2
Prevent masking Image reduce method in Jpeg2K
2020-03-30 07:29:21 +11:00
Andrew Murray
d00b929651 Updated test 2020-03-29 16:29:34 +11:00
Andrew Murray
ff6ca4159a Prevent masking Image reduce method 2020-03-29 16:27:29 +11:00
Andrew Murray
30a2d694cf Converted unittest mock to pytest monkeypatch 2020-03-29 10:43:44 +11:00
Andrew Murray
cbf0bf1010 Fixed restoring original state 2020-03-28 12:51:33 +11:00
Andrew Murray
b602f365ae Removed PillowTestCase helper class 2020-03-28 12:51:28 +11:00
Andrew Murray
a8637449b9 Converted common Qt test classes 2020-03-28 12:21:00 +11:00
Andrew Murray
748739c992 Converted addCleanup 2020-03-28 12:20:56 +11:00
Andrew Murray
dcf57f1457 unittest is no longer used in every test [ci skip] 2020-03-27 18:36:36 +11:00
Hugo van Kemenade
3970db0535
Merge pull request #4471 from radarhere/exif_imagemagick
Added reading of earlier ImageMagick PNG EXIF data
2020-03-26 13:42:58 +02:00
Andrew Murray
d4b627b664 Parametrized test 2020-03-26 21:21:40 +11:00
Hugo van Kemenade
332e3923cb
Merge pull request #4457 from radarhere/endian
Fixed endian handling for I;16 getextrema
2020-03-25 23:32:37 +02:00
Andrew Murray
d7c34511ba Updated tests 2020-03-24 19:53:03 +11:00
Andrew Murray
228613017b Added test if XCB is not present 2020-03-24 19:51:13 +11:00
Andrew Murray
2543719e12 Updated error catching 2020-03-24 19:49:05 +11:00
nulano
0bcc7be89b xcb screengrab docs and fixes 2020-03-24 19:46:40 +11:00
nulano
f9c74825a6 xcb screengrab fixes 2020-03-24 19:40:54 +11:00
Andrew Murray
7ff2db143d Removed use of PillowTestCase 2020-03-23 07:05:51 +11:00
Andrew Murray
7859f81828 Use pytest to skip tests 2020-03-23 07:05:40 +11:00
Andrew Murray
ca5a81ef27 Added reading of earlier ImageMagick EXIF data 2020-03-14 00:04:58 +11:00
Andrew Murray
9f61be4c72
Merge branch 'master' into apng 2020-03-09 23:29:40 +11:00
Andrew Murray
dc0d1c9bee Invoke pip using python3 [ci skip] 2020-03-09 22:43:35 +11:00
Andrew Murray
e41cfade29 Add JPEG comment to info dictionary 2020-03-07 06:57:29 +11:00
Hugo van Kemenade
3f9b615349
Merge pull request #4404 from orlnub123/bugfix/thumbnail
Fix size calculation of Image.thumbnail()
2020-03-06 00:33:03 +02:00
Hugo van Kemenade
da4667cc9e
Merge pull request #4401 from radarhere/freetype
Fixed stroke on FreeType < 2.9
2020-03-06 00:21:17 +02:00
Hugo van Kemenade
3b30b88c7f
Merge pull request #4454 from radarhere/bbox
If present, only use alpha channel for bounding box
2020-03-05 12:38:52 +02:00
Andrew Murray
686d85be08
Merge pull request #4462 from hugovk/to-pytest
Convert to use pytest
2020-03-05 19:39:13 +11:00
Hugo van Kemenade
94d0c7c9ff
Merge pull request #45 from radarhere/to-pytest
Converted setup and teardown methods
2020-03-04 13:42:49 +02:00
Hugo
fbd4ca1ba0 Fix roundtrip 2020-03-04 13:21:23 +02:00
Andrew Murray
76734573f0 Converted setup and teardown methods 2020-03-04 21:31:50 +11:00
Hugo van Kemenade
974233be45
Merge pull request #4438 from jdufresne/warning
Warn on typos passed to features.check()
2020-03-02 21:26:17 +02:00
Hugo
2cc6a9a974 Convert to use pytest 2020-03-02 16:31:08 +02:00
Hugo van Kemenade
54b4b98455
Merge pull request #4448 from radarhere/pytest
Converted to pytest
2020-03-02 12:23:28 +02:00
Hugo van Kemenade
64a9e0c660
Merge branch 'master' into apng 2020-02-29 17:40:17 +02:00
Andrew Murray
42a0653097 Fixed endian handling for I;16 getextrema 2020-02-29 20:29:28 +11:00
Andrew Murray
b934b50867 If an alpha channel is present, only use that to get bounding box 2020-02-28 22:33:02 +11:00
Andrew Murray
1c1ad65a96
Merge pull request #4424 from hugovk/fix-im-long-name
Fix saving IM images in dir with long path
2020-02-27 20:27:44 +11:00
Andrew Murray
9ba25f8135 Trim end of name, keeping ext 2020-02-26 20:15:23 +11:00
Hugo van Kemenade
3c995fd173
Merge pull request #4440 from radarhere/jpeg_quality
Allow saving of zero quality JPEG images
2020-02-25 12:02:53 +02:00
Andrew Murray
09b9198176 Converted to pytest 2020-02-25 20:57:27 +11:00
Andrew Murray
17c10b0ca0 Fixed stroke on FreeType < 2.9 2020-02-24 22:49:33 +11:00
Hugo van Kemenade
12f66f44f4
Fix regression
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-02-23 10:31:54 +02:00
Andrew Murray
41a29339ff Lint fixes 2020-02-23 15:14:42 +11:00
Peter Rowlands
9b72f0513c Adjust is_animated behavior
- Make is_animated APNG behavior consistent with other Pillow formats
- is_animated will be true when n_frames is greater than 1 (for APNG
  this depends on animation frame count + presence or absence of a
  default image)
2020-02-23 15:14:06 +11:00
Peter Rowlands
d05b73cd08 Use context manager for APNG tests 2020-02-23 15:14:06 +11:00
Peter Rowlands
0f84fa7707 Move apng tests into test_file_apng.py 2020-02-23 15:14:06 +11:00
Peter Rowlands
00fcc53a1d Fix lint errors 2020-02-23 15:14:06 +11:00
Peter Rowlands
66c84f258b Add test for saving split fdat chunks 2020-02-23 15:14:06 +11:00
Peter Rowlands
7c0df1034f Add APNG test cases
Includes tests for reading and writing APNG files.

The tests for reading files are based on the APNG browser compatibility
tests from https://philip.html5.org/tests/apng/tests.html
(which is linked in the Tests section of https://wiki.mozilla.org/APNG_Specification)
2020-02-23 15:14:06 +11:00
Hugo
44e661f25a Convert to use pytest 2020-02-22 23:03:01 +02:00
Hugo
699a9dadf1 Convert asserts 2020-02-22 18:07:04 +02:00
Andrew Murray
8482919a37 Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
orlnub123
8f21d0ddf0 Improve rounding 2020-02-21 23:38:38 +00:00
Andrew Murray
a8c0794107 Allow saving of zero quality JPEG images 2020-02-21 22:05:44 +11:00
Hugo van Kemenade
f43efb0aec
_webp not needed in this file
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-02-20 12:24:46 +02:00
Hugo
2d5e479bcc Merge remote-tracking branch 'upstream/master' into pytest.importorskip 2020-02-19 19:26:52 +02:00
Andrew Murray
c516134890 Rearranged code for Windows 2020-02-19 20:56:23 +11:00
Andrew Murray
c6749183f8 Updated tests 2020-02-19 19:52:07 +11:00
Dag Wästberg
2e02500fa6 change function names to snake_case 2020-02-19 19:38:53 +11:00
Dag Wästberg
23c9da5264 add Overlay chop 2020-02-19 19:34:13 +11:00
Dag Wästberg
705140cc2c add hardlight and softlight chops 2020-02-19 19:30:59 +11:00
Dag Wästberg
13c1b7070d add Overlay chop 2020-02-19 19:24:36 +11:00
Dag Wästberg
5e5dfbad81 add hardlight and softlight chops 2020-02-19 19:23:09 +11:00
Jon Dufresne
c057ad1535 Warn on typos passed to features.check()
If the feature isn't one of the recognized types, a UserWarning is
emitted.
2020-02-18 19:48:48 -08:00
Jon Dufresne
4f185329f4 Streamline test skipping based on supported features
This adds a new test decorator: skip_unless_feature(). The argument is
the same as passed to features.check(). If the feature is not supported,
the test will be skipped.

This removes several kinds of boilerplate copied and pasted around tests
so test feature checking is handled and displayed more consistently.

Refs #4193
2020-02-18 13:07:01 -08:00
Jon Dufresne
f72e64b90b Remove unnecessary setup_module() from test_file_tar.py
The test_sanity() already checks the decorder exists and the other tests
can run without zlib/jpeg installed.
2020-02-18 13:02:30 -08:00
Jon Dufresne
967f46d1d8 Remove unnecessary skip test logic
The gif_encoder and gif_decoder are always compiled and included in
src/_imaging.c.
2020-02-18 13:02:30 -08:00
Hugo van Kemenade
2d4b4576aa
Merge pull request #4428 from jdufresne/use-mock
Replace SimplePatcher with builtin unittest.mock module
2020-02-18 16:08:28 +02:00
Hugo
d289a5b072 Convert to use pytest 2020-02-18 15:50:34 +02:00
Hugo
17c67a2cfb Use pytest.importorskip to skip on a missing import dependency 2020-02-18 14:30:56 +02:00
Hugo van Kemenade
8ec548d163
Merge pull request #4431 from jdufresne/top
Move safe imports to the top of test files
2020-02-17 22:34:57 +02:00
Hugo van Kemenade
9f2d478f03
Merge pull request #4429 from jdufresne/cpickle
Remove testing of Python-2-only cPickle module
2020-02-17 21:48:43 +02:00
Jon Dufresne
98a2081a78 Move safe imports to the top of test files
These modules are safe to import and this better follows PEP 8.

From https://www.python.org/dev/peps/pep-0008/#imports

> Imports are always put at the top of the file, just after any module
> comments and docstrings, and before module globals and constants.
2020-02-17 10:49:27 -08:00
Jon Dufresne
9e856b8a72 Remove testing of Python-2-only cPickle module
In Python 3, cPickle and pickle have been merged to a single module.

From https://docs.python.org/3/whatsnew/3.0.html#library-changes

> A common pattern in Python 2.x is to have one version of a module
> implemented in pure Python, with an optional accelerated version
> implemented as a C extension; for example, pickle and cPickle. This
> places the burden of importing the accelerated version and falling
> back on the pure Python version on each user of these modules. In
> Python 3.0, the accelerated versions are considered implementation
> details of the pure Python versions. Users should always import the
> standard version, which attempts to import the accelerated version and
> falls back to the pure Python version. The pickle / cPickle pair
> received this treatment.

Can now move the 'import pickle' to the top of the test file.
2020-02-17 10:27:36 -08:00
Jon Dufresne
1a3ebafdd2 Replace SimplePatcher with builtin unittest.mock module
The class more or less duplicates the features of the mock module. Can
avoid the duplication by using the stdlib.
2020-02-17 10:06:19 -08:00
Jon Dufresne
6121daa72d Remove redundant str() call
The %s placeholder already coerces arguments to a string.
2020-02-17 09:18:49 -08:00
Hugo
946a038b13 Replace unittest with pytest 2020-02-17 10:42:33 +02:00
Hugo
eb2d6560a4 Replace unittest with pytest 2020-02-17 00:55:52 +02:00
orlnub123
64c08f4dba Fix test 2020-02-16 21:26:40 +11:00
orlnub123
6d3c7d6941 Add test against upscaling 2020-02-16 21:26:17 +11:00
orlnub123
e9ef1d236d Fix size calculation of Image.thumbnail() 2020-02-16 21:25:51 +11:00
Andrew Murray
8e81e0dd0e Restored test 2020-02-16 13:44:34 +11:00
Hugo
9087599e60 Merge remote-tracking branch 'upstream/master' into pytest 2020-02-15 16:56:21 +02:00
Hugo van Kemenade
852d9156bc
Remove commas
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-02-15 16:21:37 +02:00
Hugo van Kemenade
0e993c4740
Merge pull request #4334 from radarhere/outline_width
Allow explicit zero width to hide outline
2020-02-15 14:30:12 +02:00
Andrew Murray
f958e2f8ed Return strings or bytes from ContainerIO according to the file object mode 2020-02-15 22:13:10 +11:00
Jon Dufresne
e817ed0d3e Correct str/bytes mixup in ContainerIO
Image data is expected to be read in bytes mode, not text mode so
ContainerIO should return bytes in all methods. The passed in file
handler is expected to be opened in bytes mode (as TarIO already does).
2020-02-15 22:13:10 +11:00
Andrew Murray
919abe2555 Updated test 2020-02-15 21:17:26 +11:00
Hugo van Kemenade
c57e4b3a85
Merge pull request #4333 from radarhere/polygon
Only draw each polygon pixel once
2020-02-15 11:57:14 +02:00
ben
a4721d374f Fixes djpeg load test
* Test fails with `libjpeg-turbo` and `libjpeg-progs` on Ubuntu 16.04
* Epsilon reported is 4.18...
2020-02-15 13:59:53 +11:00
Jon Dufresne
e544fd5fb7 Simplify command discovery with stdlib shutil.which()
Use the builtin shutil.which() instead of reimplementing.

For the single use that used the output of the command, use
subprocess.run().
2020-02-14 14:55:46 -08:00
Hugo
affade7595 Replace unittest with pytest 2020-02-13 12:15:05 +02:00
Hugo van Kemenade
098406c304
Merge pull request #4390 from jdufresne/resource-warning
Fix ResourceWarning emitted during tests
2020-02-12 17:10:51 +02:00
Hugo
38bf862185 Replace PillowTestCase.assert_warning with pytest.warns 2020-02-03 11:11:32 +02:00
Hugo
a4bf9fa036 Convert most PillowTestCase methods to pytest 2020-02-02 12:26:01 +02:00
Hugo van Kemenade
f6e067b3b4
Merge pull request #4391 from radarhere/pytest
Convert various tests to pytest style
2020-01-28 18:22:11 +02:00
Andrew Murray
eeb2588fe2
Corrected skip condition
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-01-28 19:59:41 +11:00
Alexander Karpinsky
5965437402
Merge pull request #4370 from uploadcare/jpeg-multiple-app13
Handle multiple and malformed JPEG APP13 markers
2020-01-27 15:46:36 +03:00
Andrew Murray
7fd9663198 Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
Jon Dufresne
2b84221edf Fix ResourceWarning emitted during tests
Appeared in the form:

    ResourceWarning: unclosed file <_io.BufferedReader name='Tests/images/invalid-exif-without-x-resolution.jpg'>

Enable all warnings to always display during tests to help catch these
warnings earlier.
2020-01-26 16:00:46 -08:00
Hugo van Kemenade
22a6738a81
Merge pull request #4369 from jdufresne/pytest
Convert some tests to pytest style
2020-01-26 20:18:37 +02:00
Jon Dufresne
63729766c4 Remove unnecessary coerce to float
In Python 3, the division operator is floating point division. No longer
need to coerce integers to floating point numbers before division.
2020-01-26 06:33:18 -08:00
Alexander
73171f5046 add test image 2020-01-20 17:25:40 +03:00
Jon Dufresne
2c50723f14 Convert some tests to pytest style
To better follow conventional pytest style, this removes the outer
wrapper class in favor of a function for some tests. These tests were
picked as they are relatively simple and presented no barriers to a
quick port. The assert* methods are replaced with assert statements.
When necessary, a fixture is used to create a temporary directory.

This commit does not convert the entire test suite to this style as some
test classes use methods or other advanced features that are difficult
to automatically convert. The goal is to address these issues in
followup commits.

Refs #4193
2020-01-18 12:12:10 -08:00
Andrew Murray
760bc7dd38 Test seek errors 2020-01-14 21:38:17 +11:00
Andrew Murray
f3f9190de7 Roundtrip test hotspot 2020-01-14 21:38:17 +11:00
Andrew Murray
dbd3c7c9b9 Test saving with incorrect mode 2020-01-14 21:38:17 +11:00
Andrew Murray
9bed79e426 Test grab bbox 2020-01-14 21:38:17 +11:00
Andrew Murray
5439091355 Simplified code 2020-01-14 20:20:30 +11:00
Andrew Murray
a5f036abf4 Moved messages into assert method calls 2020-01-14 20:20:19 +11:00
Andrew Murray
d324560891 Removed print 2020-01-14 19:44:10 +11:00
Andrew Murray
a4f06b93f9 Removed unused function 2020-01-14 19:40:21 +11:00
Hugo
5e9336af4c Use sys.byteorder == "big" 2020-01-08 15:43:28 +02:00