Commit Graph

4457 Commits

Author SHA1 Message Date
Andrew Murray
e3ff5eb8e4 Test BC1_UNORM and BC1_TYPELESS 2023-10-30 19:53:51 +11:00
Andrew Murray
17be898fc4 Added tests for unimplemented bitcount 2023-10-28 16:58:57 +11:00
Andrew Murray
bff6b4d6a2 Switched from direct setup.py invocation to "pip install ." 2023-10-27 19:17:15 +11:00
Andrew Murray
e10a58ccce Concatenate multiple EXIF markers 2023-10-26 21:46:38 +11:00
Andrew Murray
85485229e3 Support RGB bitcount 8 2023-10-25 16:24:00 +11:00
Benjamin Gilbert
4d7372bfd0 Implement streamtype=1 option for tables-only JPEG encoding
We already support streamtype=2 to skip producing JPEG tables, but
streamtype=1, which skips everything but the tables, was never implemented.
The streamtype=1 stub code dates to Git pre-history, so it's not
immediately clear why.  Implement the missing support.

jpeg_write_tables() can't resume after a full output buffer (it fails with
JERR_CANT_SUSPEND), so it might seem that Pillow needs to pre-compute the
necessary buffer size.  However, in the normal case of producing an
interchange stream, the tables are written via the same libjpeg codepath
during the first jpeg_write_scanlines() call, and table writes aren't
resumable there either.  Thus, any buffer large enough for the normal case
will also be large enough for a tables-only file.

The streamtype option isn't documented and this commit doesn't change that.
It does add a test though.

Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2023-10-24 20:30:45 -05:00
Andrew Murray
91f115bead Fixed im.frombytes() for images with a zero dimension 2023-10-25 08:52:26 +11:00
Andrew Murray
5071692039 Fixed Image.frombytes() for images with a zero dimension 2023-10-25 08:52:06 +11:00
Andrew Murray
f54dd84586 Test unsupported autocontrast mode 2023-10-24 12:44:00 +11:00
Andrew Murray
93e0f39ff3 Removed "mode-" prefix from image names that are not modes 2023-10-21 19:14:46 +11:00
Andrew Murray
a54d28a7bc Merge branch 'main' into improved_dds 2023-10-21 14:27:31 +11:00
Andrew Murray
5056850a2f Seek past the data when skipping a layer 2023-10-20 16:09:13 +11:00
Andrew Murray
19aeed07bf Merge branch 'main' into gray 2023-10-20 07:47:17 +11:00
Andrew Murray
e760b02bfa Combine if and assert statement 2023-10-19 20:34:28 +11:00
Andrew Murray
d682c18ded Use "gray" more consistently 2023-10-19 19:12:01 +11:00
Andrew Murray
8b71f3d3c1 Added messages to errors 2023-10-19 18:42:41 +11:00
Andrew Murray
0da7ad7c48 Merge branch 'main' into load_default 2023-10-14 10:33:50 +11:00
mergify[bot]
a4bc7146e5
Merge pull request #7412 from radarhere/cover
Added ImageOps cover method
2023-10-13 22:16:30 +00:00
Hugo van Kemenade
ff37a5be37
Merge pull request #7458 from radarhere/truncated_exif 2023-10-13 23:49:55 +02:00
Hugo van Kemenade
101154e0d5
Merge pull request #7437 from radarhere/apng 2023-10-13 23:48:22 +02:00
Hugo van Kemenade
810f5f06c4
Merge branch 'main' into cover 2023-10-13 23:42:06 +02:00
REDxEYE
6dd565b4a3 Merge remote-tracking branch 'pillow/main' into improved_dds
# Conflicts:
#	Tests/test_file_dds.py
#	src/PIL/DdsImagePlugin.py
2023-10-12 19:15:06 +03:00
REDxEYE
a5dde8b1c4 Apply suggestion for PR 2023-10-12 19:09:28 +03:00
Andrew Murray
7319d86328 Catch struct.error from truncated EXIF when reading DPI 2023-10-12 10:13:46 +11:00
Andrew Murray
4e7f61f459
Merge branch 'main' into bgr 2023-10-06 18:50:25 +11:00
Hugo van Kemenade
5957f109a5
Merge pull request #7310 from radarhere/cmyk2rgb 2023-10-06 01:43:50 -06:00
Andrew Murray
a3fd009875 Match warning message 2023-10-06 17:31:06 +11:00
Andrew Murray
f24222a954 Merge branch 'main' into jpeg_xmp 2023-10-06 17:23:53 +11:00
Andrew Murray
787daa9f19 Merge branch 'main' into cmyk2rgb 2023-10-06 15:52:32 +11:00
Andrew Murray
2d9c4e663f
Merge pull request #7302 from radarhere/png_i16
Allow saving I;16B images as PNG
2023-10-06 15:45:58 +11:00
Hugo van Kemenade
6f73691564
Merge pull request #7257 from radarhere/i16_point 2023-10-05 12:54:25 -06:00
Hugo van Kemenade
09605ff48e
Merge pull request #7413 from radarhere/bc5s 2023-10-05 09:48:12 -06:00
Hugo van Kemenade
0c55a2d864
Merge pull request #7319 from radarhere/iptc 2023-10-05 09:44:56 -06:00
Hugo van Kemenade
5f04b3d278
Merge pull request #7289 from radarhere/undefined_palette 2023-10-05 09:31:02 -06:00
Hugo van Kemenade
0a432541ae
Merge pull request #7392 from radarhere/eps 2023-10-05 09:27:06 -06:00
Andrew Murray
b98dc8abe1 Consider default image when selecting mode for PNG save_all 2023-10-02 19:07:56 +11:00
Andrew Murray
43e6826199
Merge pull request #7382 from nopperl/parse-eps-trailer
Read bounding box information from the trailer of EPS files if specified
2023-10-02 09:53:35 +11:00
Hugo van Kemenade
c2f7ea59b9
Merge pull request #7426 from radarhere/dds_palette 2023-09-30 14:40:17 -06:00
Andrew Murray
955b2d553c
Merge branch 'main' into cover 2023-09-30 19:04:22 +10:00
Hugo van Kemenade
8cb1e29491
Merge pull request #7420 from radarhere/transparency 2023-09-30 02:53:22 -06:00
Hugo van Kemenade
99e11f9e08
Merge pull request #7406 from radarhere/webp 2023-09-28 14:25:34 -06:00
Andrew Murray
cd4adb1677 Added reading 8-bit color images 2023-09-27 19:41:45 +10:00
Andrew Murray
e27d7a6f84 Changed has_transparency_data() to property 2023-09-26 20:14:22 +10:00
Hugo van Kemenade
132357ac46 Add check-executables-have-shebangs to pre-commit and remove executable flags 2023-09-25 16:45:38 +03:00
Hugo van Kemenade
f76b63d016 Add end-of-file-fixer to pre-commit 2023-09-25 16:45:38 +03:00
Hugo van Kemenade
36d0bf044b Fix LOG005 use exception() within an exception handler 2023-09-25 16:45:38 +03:00
Hugo van Kemenade
507b7d519a Fix LOG011 avoid pre-formatting log messages 2023-09-25 16:45:38 +03:00
Andrew Murray
ad12caecda Convert RGBA palette to RGBA image when saving WebP 2023-09-25 20:28:25 +10:00
Andrew Murray
6bbed1add0 Added has_transparency_data() 2023-09-25 20:10:44 +10:00
Andrew Murray
d919942f8e Last trailer comment has priority 2023-09-22 18:36:52 +10:00
Andrew Murray
094f23dd5c EOF ends not just the trailer, but also the file 2023-09-22 18:26:41 +10:00
Andrew Murray
4c9c7636be Merge branch 'main' into parse-eps-trailer 2023-09-22 16:16:26 +10:00
Andrew Murray
352bcaac74 Set blue channel to 128 for BC5S 2023-09-21 16:38:45 +10:00
Andrew Murray
80dbd3b193 Added ImageOps cover method 2023-09-21 11:54:36 +10:00
Andrew Murray
9632195747 Merge branch 'main' into webp 2023-09-20 22:31:16 +10:00
Andrew Murray
26c4798707 Revert "Merge pull request #7311 from k128/main"
This reverts commit 39d866b17d, reversing
changes made to f39f74fb82.
2023-09-18 20:34:05 +10:00
Andrew Murray
96e3534034 Corrected converting signed values to unsigned in BC5S 2023-09-16 13:53:10 +10:00
Andrew Murray
a84a43528e Added gs_binary to control Ghostscript use on all platforms 2023-09-12 19:46:46 +10:00
nopperl
69b888e53d
remove test parameterization
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-09-11 20:35:13 +00:00
Andrew Murray
d0abab7997 When orientation is applied, delete TIFF tag 2023-09-08 15:05:53 +10:00
Andrew Murray
e195e60ce2 Ensure TIFF has transposed on load before checking orientation 2023-09-08 15:05:48 +10:00
pre-commit-ci[bot]
794a1d7ff2 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-07 18:36:32 +00:00
nopperl
12d8b439d5 Read bounding box information from the trailer of EPS files if specified 2023-09-07 20:20:35 +02:00
Hugo van Kemenade
faa2375f81
Merge pull request #7357 from radarhere/qoi 2023-09-04 09:55:29 -06:00
Andrew Murray
2b9217bba8 Added BC5U reading 2023-08-31 12:13:35 +10:00
Andrew Murray
7bf7ff8217 Use previous pixel alpha for QOI_OP_RGB 2023-08-31 09:27:33 +10:00
Andrew Murray
d8c3135b6b Allow getpixel to accept a list 2023-08-28 20:12:23 +10:00
Andrew Murray
b1f5ee9043 Added font_size keyword arguments to ImageDraw text methods 2023-08-26 17:01:15 +10:00
Andrew Murray
eccef36948 Added size argument to load_default() 2023-08-26 17:01:01 +10:00
Andrew Murray
1e5aa21fa8 Added improved font to load_default() if FreeType is available 2023-08-26 17:00:34 +10:00
Hugo van Kemenade
c68bf7df8f
Merge pull request #7336 from radarhere/blur 2023-08-25 03:20:16 -06:00
Andrew Murray
472eb66683 Skip tests that require FreeType if FreeType is not available 2023-08-24 19:02:27 +10:00
Hugo van Kemenade
d80610822f
Merge pull request #7345 from radarhere/jpeg 2023-08-23 20:33:59 +03:00
Andrew Murray
dcfce9487e Merge branch 'main' into iptc 2023-08-22 10:14:48 +10:00
Andrew Murray
b37ca350a8 Allow FotoStation tags 2023-08-22 10:13:41 +10:00
Andrew Murray
0a28840bc4 Expand buffer size when optimizing or progressive 2023-08-19 14:34:08 +10:00
Andrew Murray
9ef7cb39de Updated zlib to 1.3 2023-08-18 22:22:51 +10:00
Andrew Murray
9f54a11a9c Improve efficiency when a radius is zero 2023-08-12 18:17:07 +10:00
Andrew Murray
c167d7a269 Allow GaussianBlur and BoxBlur to accept a sequence of x and y radii 2023-08-12 12:09:20 +10:00
Andrew Murray
39d866b17d
Merge pull request #7311 from k128/main
Read WebP duration after opening
2023-08-11 19:46:49 +10:00
Andrew Murray
bfafa460e3 Allow "loop=None" when saving 2023-08-09 10:31:34 +10:00
Andrew Murray
649ad8a804
Merge pull request #7323 from radarhere/pdf_p_transparency
Fixed transparency when saving P mode images to PDF
2023-08-08 21:30:23 +10:00
Yay295
5b6b6346bb
Fix param in test_image.py function 2023-08-07 09:49:20 -05:00
Andrew Murray
73bd40babe Test for relevant characters before and after "SMask" 2023-08-07 20:49:29 +10:00
Andrew Murray
a70ea82eb5 Write P transparency as SMask 2023-08-07 13:53:19 +10:00
Andrew Murray
6bd3ed439a Ignore IPTC field that is only zero bytes 2023-08-04 23:54:48 +10:00
Hugo van Kemenade
95257dff87
Merge pull request #7299 from radarhere/pdf 2023-08-04 11:43:09 +03:00
Andrew Murray
60433d5f37 Added test 2023-08-01 19:17:54 +10:00
Hugo van Kemenade
c1c474a1f2
Merge pull request #7307 from radarhere/mode 2023-07-31 17:14:10 +03:00
Andrew Murray
07038d7e89
Merge pull request #7266 from mtreinish/handle-repr-exceptions
Handle exceptions in _repr_jpeg_ and _repr_png_
2023-07-31 11:42:44 +10:00
Andrew Murray
00cec60c35 Added CMYK to RGB unpacker 2023-07-29 21:05:33 +10:00
Andrew Murray
9979a822c7 Changed Image mode property to be read-only by default 2023-07-29 09:28:18 +10:00
Andrew Murray
9bd574058e Support BGR;15, BGR;16 and BGR;24 in putdata 2023-07-26 20:09:40 +10:00
Andrew Murray
5fa05623ff Added BGR;15, BGR;16 and BGR;24 unpacking 2023-07-26 20:09:40 +10:00
Andrew Murray
3230270aa7 Added BGR;15, BGR;16 and BGR;24 access 2023-07-26 20:09:40 +10:00
Andrew Murray
2db354af43 Allow saving I;16B images as PNG 2023-07-24 17:17:15 +10:00
Andrew Murray
0a0a3fc51f Added saving LA images as PDFs 2023-07-22 20:16:45 +10:00
Andrew Murray
26ca569cbe Parametrized test 2023-07-22 20:15:40 +10:00
Andrew Murray
fd310512b9 Set C palette to be empty by default 2023-07-17 23:04:43 +10:00
Andrew Murray
7bfc6f16dc Set undefined palette values to black 2023-07-17 09:26:24 +10:00
Andrew Murray
a682ceaf47 Do not use transparency if it has been removed when normalizing mode 2023-07-13 15:20:44 +10:00
Andrew Murray
3f78ba80f9 Do not require curly bracket in tag name 2023-07-10 22:05:28 +10:00
Andrew Murray
2488167f33 Allow for zero-byte padding at end of XMP data 2023-07-10 22:00:30 +10:00
Andrew Murray
ba9c830b03 Corrected writing I;16 text 2023-07-08 11:30:48 +10:00
Matthew Treinish
6215cd3e0f
Update tests to handle no longer raising 2023-07-06 09:28:35 -04:00
Andrew Murray
5e2332a200 Corrected drawing I;16 points 2023-07-05 08:49:56 +10:00
Andrew Murray
5a9c2321b4 Updated libjpeg shared library name 2023-07-04 22:39:41 +10:00
Andrew Murray
d398fedb9d
Added underscores for readability
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-07-01 07:25:18 +10:00
Andrew Murray
1fe1bb49c4 Added ImageFont.MAX_STRING_LENGTH 2023-06-30 23:32:26 +10:00
Hugo van Kemenade
9abef1ad0b
Merge pull request #7226 from radarhere/getcolor 2023-06-30 09:26:51 +03:00
Hugo van Kemenade
be4bfaac9e
Merge pull request #7123 from radarhere/apng 2023-06-30 09:24:20 +03:00
Andrew Murray
8a36b0fc2d Deprecate PyAccess 2023-06-28 20:10:10 +10:00
Andrew Murray
8437d98f7f Limit size even if one dimension is zero 2023-06-28 11:43:05 +10:00
Andrew Murray
45c9dcf123 Restored 32-bit support 2023-06-27 14:43:58 +10:00
Andrew Murray
d6f19625e8 Removed support for 32-bit 2023-06-23 21:52:00 +10:00
Yay295
ff4c7ffcea
use same print format regardless of iterations 2023-06-22 09:16:18 -05:00
Yay295
56a795c8dd
add units to bench_cffi_access.py output 2023-06-22 09:05:03 -05:00
Andrew Murray
cb8956fffb Convert to HSV if mode is HSV in getcolor() 2023-06-22 23:27:45 +10:00
Andrew Murray
7044038e70 Fixed decompression bomb check 2023-06-17 14:35:44 +10:00
Andrew Murray
bd4826591b Removed INVALID enum 2023-06-15 02:49:09 +03:00
Andrew Murray
b6b7a7bfa4 Simplified test code 2023-06-15 02:45:46 +03:00
REDxEYE
9369a48457 Revert, i didn't meant to commit it 2023-06-15 02:45:46 +03:00
pre-commit-ci[bot]
1c9a84d760 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-06-15 02:45:46 +03:00
REDxEYE
91664c9d8e Small refactor 2023-06-15 02:45:43 +03:00
REDxEYE
d1b1f30cef Fix file extensions in tests not matching real names 2023-06-15 02:42:43 +03:00
REDxEYE
34760736a5 Add missing LA test textures 2023-06-15 02:42:43 +03:00
REDxEYE
de8b89c823 Add support for writing LA dds textures 2023-06-15 02:42:41 +03:00
REDxEYE
8e8a67ef3e Fix incorect file name 2023-06-15 02:37:38 +03:00
REDxEYE
19887374ae Add support for single channel textures 2023-06-15 02:33:55 +03:00
Andrew Murray
7d97fa8b86 Use snake case 2023-06-14 16:12:47 +10:00
Andrew Murray
541d2605b9 Allow alpha differences to indicate different frames when saving GIF 2023-06-14 14:21:07 +10:00
Andrew Murray
119a0dfb01 Updated tests now that alpha_only is keyword-only 2023-06-14 11:29:22 +10:00
Andrew Murray
17b19b5668 Merge branch 'main' into apng 2023-06-14 11:26:42 +10:00
Andrew Murray
8bbd4ada9b Merge branch 'main' into exif_transpose 2023-06-14 09:57:25 +10:00
Hugo van Kemenade
8f3ccff8f2
Merge pull request #7206 from radarhere/text_layout 2023-06-13 20:31:24 +03:00
Hugo van Kemenade
c62c514299
Merge pull request #7187 from radarhere/putpalette 2023-06-13 20:10:33 +03:00
Hugo van Kemenade
ae921956ba
Merge pull request #7078 from radarhere/long8 2023-06-13 19:48:55 +03:00
Andrew Murray
16d82c2dfd Improved coverage 2023-06-10 19:37:54 +10:00
Andrew Murray
97df237dc8 Moved test into separate function 2023-06-06 18:04:39 +10:00
Andrew Murray
400716da0d Merge branch 'main' into apng_duration 2023-06-06 18:00:48 +10:00
Hugo van Kemenade
df873e39db
Merge pull request #7181 from radarhere/gif 2023-06-06 09:22:57 +03:00
Andrew Murray
07eccd9798 Fixed calling putpalette() on L and LA images before load() 2023-05-28 06:44:34 +10:00
Andrew Murray
922e239cca Fixed saving multiple 1 mode images to GIF 2023-05-24 08:55:14 +10:00
Andrew Murray
26d5f4fcb1 Use tuple instead of list 2023-05-23 21:27:55 +10:00
Andrew Murray
c656583b84 Merge branch 'main' into fix-imagegrab-with-wl-paste 2023-05-23 08:47:42 +10:00
Hugo van Kemenade
a58034b86c
Merge pull request #7135 from n3011/jpg_repr 2023-05-16 12:14:40 +03:00
Andrew Murray
c68c508e27 Fixed joined corners for odd dimensions 2023-05-10 13:25:35 +10:00
Andrew Murray
a0b691a219 Fixed combining single duration across duplicate PNG frames 2023-05-09 12:12:16 +10:00
Andrew Murray
fa97a1af10 Merge branch 'main' into test_lists_and_tuples 2023-05-06 11:43:00 +10:00
Andrew Murray
e3990f67be
Merge pull request #6900 from Yay295/parametrize_jpeg_leaks_test
Test both lists and tuples as qtables arguments
2023-05-06 11:12:22 +10:00