Commit Graph

4742 Commits

Author SHA1 Message Date
Andrew Murray
24681a3927 Added ImageText 2025-07-24 19:34:29 +10:00
Andrew Murray
103a5a0b59 Fixed ZeroDivisionError 2025-07-24 19:33:15 +10:00
wiredfool
1a02d4ed5a lint fixes 2025-07-20 13:01:39 +02:00
wiredfool
adfb66f1d6 Fix Compliation errors from rebase 2025-07-20 10:18:59 +02:00
wiredfool
64556405e2 WIP - Not working in pyarrow 2025-07-19 17:34:39 +02:00
eyedav
84aa4372fd linter changes 2025-07-19 17:06:44 +02:00
Yay295
2f169fa121 use mode enums in _imagingcms.c 2025-07-19 17:02:05 +02:00
Yay295
0567f064e4 add debug check that all modes and rawmodes are defined 2025-07-19 17:02:05 +02:00
Yay295
f8bfa2fe4e use more mode enums in decode.c 2025-07-19 16:58:11 +02:00
Yay295
a53f83f023 use mode enums in _imagingft.c 2025-07-19 16:58:11 +02:00
eyedav
aa39e84f7a use mode enums in Jpeg2KDecode.c 2025-07-19 16:58:08 +02:00
wiredfool
85212dbbb6 Add image band metadata for the 4 channel images 2025-07-19 16:55:52 +02:00
Yay295
4d721bc591 use mode enums in _webp.c 2025-07-19 16:54:36 +02:00
eyedav
9527ce7f8c change mode structs to enums
Structs have better type safety, but they make allocation more difficult, especially when we have multiple Python modules trying to share the same code.
2025-07-19 16:54:32 +02:00
Yay295
4b07ed52fd use Mode struct for windows display code 2025-07-19 16:00:28 +02:00
Yay295
16fc61ee65 use RawMode struct for jpegmode 2025-07-19 16:00:28 +02:00
Yay295
422eb1ebc4 replace some string function usage with imaging mode checks 2025-07-19 16:00:28 +02:00
Yay295
579c55ea86 check for null input in findMode() and findRawMode() 2025-07-19 16:00:28 +02:00
Yay295
20a5aeac84 fix findRawMode()
and change findMode() to match
2025-07-19 16:00:28 +02:00
Yay295
cacb8b3ce7 define rawmodes 2025-07-19 16:00:28 +02:00
eyedav
c9c50ac678 initialize accessors similar to converters/packers/unpackers 2025-07-19 16:00:26 +02:00
Yay295
feb7e6ef2d use mode structs in map.c 2025-07-19 15:55:48 +02:00
eyedav
d11819ca6b use mode structs in Unpack.c 2025-07-19 15:55:44 +02:00
Yay295
31118b0019 set pointer to NULL after free 2025-07-19 15:54:15 +02:00
Yay295
39d434b39d use (void) for empty function parameters 2025-07-19 15:54:15 +02:00
Yay295
141c95df9a use mode structs in TiffDecode.c 2025-07-19 15:54:15 +02:00
eyedav
e75a0a9c39 use mode structs in Storage.c 2025-07-19 15:54:11 +02:00
eyedav
858b0b3805 use mode structs in Resample.c 2025-07-19 15:47:47 +02:00
Yay295
c80fba3045 use mode structs in Reduce.c 2025-07-19 15:47:10 +02:00
Yay295
fb73d9003e use mode structs in Quant.c 2025-07-19 15:47:10 +02:00
Yay295
7e48697f82 use mode structs in Point.c 2025-07-19 15:47:10 +02:00
Yay295
2a9d712ceb use mode structs in Paste.c 2025-07-19 15:47:10 +02:00
Yay295
af3c24e12b use mode structs in Palette.c 2025-07-19 15:47:10 +02:00
eyedav
e5bc5b4ffa use mode structs in Pack.c 2025-07-19 15:47:07 +02:00
eyedav
4906285619 add function isModeI16() to check if a mode is an I;16 mode 2025-07-19 15:41:13 +02:00
Yay295
378c3bd23d use mode structs in Matrix.c 2025-07-19 15:39:18 +02:00
Yay295
0abfdd25b1 use mode structs in JpegEncode.c 2025-07-19 15:39:18 +02:00
Yay295
30d4cd0229 use mode structs in JpegDecode.c 2025-07-19 15:39:18 +02:00
Yay295
98a2c63326 use mode structs in Jpeg2KEncode.c 2025-07-19 15:39:18 +02:00
Yay295
33272580d0 use mode structs in Jpeg2KDecode.c 2025-07-19 15:39:18 +02:00
Yay295
27497700ee use mode structs in Histo.c 2025-07-19 15:39:18 +02:00
Yay295
2668338583 use mode structs in GetBBox.c 2025-07-19 15:39:18 +02:00
Yay295
cfe9155a0b use mode structs in Geometry.c 2025-07-19 15:39:18 +02:00
eyedav
af22363327 use mode structs in Filter.c 2025-07-19 15:39:16 +02:00
Yay295
6202eefcff use mode structs in Fill.c 2025-07-19 15:37:08 +02:00
Yay295
19c0d1da76 use mode structs in File.c 2025-07-19 15:37:08 +02:00
Yay295
b5c4b821bc use mode structs in Effects.c 2025-07-19 15:37:08 +02:00
eyedav
bcfe5f2172 use mode structs in Draw.c 2025-07-19 15:37:03 +02:00
eyedav
9bf3495898 use mode structs in Convert.c 2025-07-19 15:12:51 +02:00
Yay295
ecf1fce82b use mode structs in Chops.c 2025-07-19 14:53:31 +02:00
Yay295
6f6e1f99fc use mode structs in BoxBlur.c 2025-07-19 14:53:31 +02:00
Yay295
38c75b9449 use mode structs in Blend.c 2025-07-19 14:53:31 +02:00
Yay295
d0541a73b9 use mode structs in Bands.c 2025-07-19 14:53:31 +02:00
Yay295
82182ba548 use mode structs in AlphaComposite.c 2025-07-19 14:53:31 +02:00
eyedav
0df2ed0640 use mode structs in Access.c 2025-07-19 14:53:22 +02:00
eyedav
a12dc30dc0 use mode structs in encode.c and decode.c 2025-07-19 14:46:29 +02:00
Yay295
a37f53c949 use mode structs in tkImaging.c 2025-07-19 14:44:51 +02:00
eyedav
12409e4574 use mode structs in _imaging.c 2025-07-19 14:44:41 +02:00
Yay295
63a45ad8d0 add special modes 2025-07-19 14:29:08 +02:00
Yay295
cd93629a5c use a struct for mode names instead of just a string 2025-07-19 14:29:08 +02:00
Andrew Murray
6fdbf54331 Width and height are unsigned 2025-07-12 19:50:19 +10:00
Andrew Murray
cfa51ad4ad Populate single band 2025-07-12 15:09:07 +10:00
Andrew Murray
68ac3375c6 Codec is always "iptc" 2025-07-12 12:47:54 +10:00
Andrew Murray
bc2519abf1 Removed helper method _i8, unused since dump() was removed 2025-07-12 12:34:33 +10:00
Andrew Murray
7328cf2e5e Reduced number of bytes read 2025-07-11 17:19:56 +10:00
Andrew Murray
561ae3760c Set correct size for rotated images after opening 2025-07-11 17:18:47 +10:00
Andrew Murray
74e36e0ee5 Added RGBX and CMYK as alternatives for RGBA array data 2025-07-11 16:48:46 +10:00
Andrew Murray
50dde1c125 Remove unused _save_cjpeg 2025-07-10 23:19:16 +10:00
Andrew Murray
8b695cc0d3 When deleting EXIF IFD tag, clear IFD data 2025-07-10 22:50:05 +10:00
Hugo van Kemenade
329d6a6a62
Remove reference to libtiff 3.x (#9072) 2025-07-08 20:01:35 +03:00
Andrew Murray
cbd47d8609 Removed handling of deprecated WebP features 2025-07-08 23:07:07 +10:00
Andrew Murray
99737228c5 Only deprecate fromarray mode for changing data types 2025-07-08 06:53:22 +10:00
Andrew Murray
7ec13fedc7
Merge branch 'main' into alpha_composite 2025-07-08 06:50:44 +10:00
Andrew Murray
dc7d646db0 Use correct bands for 2 band histograms 2025-07-08 06:39:56 +10:00
Andrew Murray
4cfef00574 Added "Colors" to concepts 2025-07-08 06:37:03 +10:00
Andrew Murray
3152da4735 Allow alpha_composite to use LA images 2025-07-05 13:51:18 +10:00
Andrew Murray
5554e778bb Removed unnecessary checks 2025-07-05 13:44:02 +10:00
Andrew Murray
0e3aac1ed1 Updated deprecation timeline 2025-07-02 00:00:21 +10:00
Andrew Murray
92bafe6b88 Removed support for FreeType <= 2.9.0 2025-07-02 00:00:21 +10:00
Andrew Murray
aaf217cea0 Removed ICNS (width, height, scale) sizes 2025-07-02 00:00:21 +10:00
Andrew Murray
9fbc255ce5 Removed non-image modes in ImageCms 2025-07-02 00:00:21 +10:00
Andrew Murray
b4bc43fed2 Removed ImageCms constants and versions() 2025-07-02 00:00:21 +10:00
Andrew Murray
4301c1fde6 Removed ImageMath eval and options parameters 2025-07-02 00:00:21 +10:00
Andrew Murray
0a29d6392a Removed IptcImageFile helper functions 2025-07-02 00:00:21 +10:00
Andrew Murray
9c9449af34 Removed support for LibTIFF < 4 2025-07-02 00:00:16 +10:00
Andrew Murray
a7e00fba8b Removed ImageDraw.getdraw hints parameter 2025-07-01 23:57:50 +10:00
Andrew Murray
88018c1c2d Removed id and unsafe_ptrs 2025-07-01 23:57:50 +10:00
Andrew Murray
cce39084f5 Removed specific WebP feature checks 2025-07-01 23:57:50 +10:00
Andrew Murray
b72b8dd84d Removed JpegImageFile.huffman_ac and JpegImageFile.huffman_dc 2025-07-01 23:57:50 +10:00
Andrew Murray
1800e580d2 Removed ImageFile raise_oserror() 2025-07-01 23:57:50 +10:00
Andrew Murray
5d4a05465d Removed Image isImageType() 2025-07-01 23:57:50 +10:00
Andrew Murray
583f0a50d5 Removed BGR;15, BGR;16 and BGR;24 modes 2025-07-01 23:57:46 +10:00
Andrew Murray
37cd041e5e 12.0.0.dev0 version bump 2025-07-01 19:25:23 +10:00
Andrew Murray
89f1f4626a 11.3.0 version bump 2025-07-01 17:41:24 +10:00
Andrew Murray
204d11d4da Raise FileNotFoundError when opening an empty path 2025-06-30 22:29:41 +10:00
Hugo van Kemenade
2b39f7581e
Handle IPTC TIFF tags with incorrect type (#8925) 2025-06-30 15:25:19 +03:00
Hugo van Kemenade
e7a53ba19b
Do not update palette for L mode GIF frame (#8924) 2025-06-30 15:24:18 +03:00
Hugo van Kemenade
c22230b761
Use save parameters as encoderinfo defaults (#9001) 2025-06-30 15:13:12 +03:00
Kylian Ronfleux--Corail
be2b4e7864
Fix qtables and quality scaling (#8879)
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2025-06-30 20:46:40 +10:00
Andrew Murray
d4162f8505 Updated return type 2025-06-30 18:27:49 +10:00
Hugo van Kemenade
a2fbd58f4b
Read 16-bit McIdas images into I;16B mode to allow for memory mapping (#9046) 2025-06-29 15:38:26 +03:00
Hugo van Kemenade
144890255f
Support ttb multiline text (#8730) 2025-06-28 14:35:13 +03:00
Hugo van Kemenade
c084bd7d95
Use unpacking (#9044) 2025-06-28 14:33:10 +03:00
Andrew Murray
4ac2403532 Read 16-bit images into I;16B mode to allow for memory mapping 2025-06-28 15:48:44 +10:00
Andrew Murray
26ae44e059 Merge branch 'main' into ttb 2025-06-28 13:49:43 +10:00
Andrew Murray
ed82f4d235 Use unpacking 2025-06-28 10:57:23 +10:00
Andrew Murray
5732a86cc6
Use snake case
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-06-28 10:52:25 +10:00
Andrew Murray
a0a1ff14c4 Merge branch 'main' into encoderinfo_frames 2025-06-28 01:35:59 +10:00
Andrew Murray
646b4a4ecd
Merge branch 'main' into mpo 2025-06-28 01:20:15 +10:00
Hugo van Kemenade
3a66b1d291
Restore original encoderinfo after saving (#8942) 2025-06-27 18:04:43 +03:00
Hugo van Kemenade
935e9e4fbd
Return PixelAccess from first load of ICO and IPTC images (#8922) 2025-06-27 18:02:48 +03:00
Hugo van Kemenade
c96b27711c
Improve justifying text (#8905) 2025-06-27 18:01:25 +03:00
Hugo van Kemenade
ba37249ab7
Set color table fourth channel to zero for 1 and L mode when saving BMP (#8889) 2025-06-27 18:00:06 +03:00
Hugo van Kemenade
3d21c16977
Improve reading XPM images (#8874) 2025-06-27 17:53:34 +03:00
Andrew Murray
ef98b3510e
Fix buffer overflow when saving compressed DDS images (#9041)
Co-authored-by: Eric Soroos <eric-github@soroos.net>
2025-06-28 00:29:58 +10:00
Andrew Murray
e783aff688
Improve SgiImagePlugin test coverage (#8896) 2025-06-27 15:32:30 +03:00
Hugo van Kemenade
46d969168e
Use PEP 489 multi-phase initialization (#8983) 2025-06-25 11:32:37 +01:00
Hugo van Kemenade
1e5eb3b29d
Support saving I;16L TIFF images (#9015) 2025-06-25 11:11:47 +01:00
Hugo van Kemenade
8cf8b0dde0
Do not call sys.executable in ImageShow in PyInstaller application (#9028) 2025-06-25 10:46:46 +01:00
Hugo van Kemenade
c704f43288
Deprecate fromarray mode argument (#9018) 2025-06-25 10:44:39 +01:00
Andrew Murray
acd8b0c2ac
Fix libtiff cleanup (#9002) 2025-06-25 09:09:31 +10:00
Andrew Murray
2954964cd2
Removed ImageCmsProfile._set method (#9032)
Co-authored-by: Luke Granger-Brown <git@lukegb.com>
2025-06-23 07:05:43 +10:00
Andrew Murray
78bc045db9
Merge branch 'main' into fromarray_mode 2025-06-21 21:03:37 +10:00
Hugo van Kemenade
13faa4681c
Deprecate saving I mode images as PNG (#9023) 2025-06-21 11:24:28 +01:00
Andrew Murray
f937dd27cd Do not call sys.executable in PyInstaller application 2025-06-20 23:44:30 +10:00
thisismypassport
ef0bab0c65
Support writing QOI images (#9007)
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2025-06-19 18:16:26 +10:00
Andrew Murray
79e0b0b6ad Allow for custom stacklevel in deprecations 2025-06-18 22:19:20 +10:00
Andrew Murray
d23d56e195 Deprecate saving I mode images as PNG 2025-06-17 23:10:15 +10:00
Andrew Murray
8309962926 Replaced ImagingError_OSError with PyErr_SetString 2025-06-16 08:19:27 +10:00
Andrew Murray
cb433ad00a Replaced ImagingError_Clear with PyErr_Clear 2025-06-16 08:15:08 +10:00
Andrew Murray
e6af31e709 Deprecate fromarray mode argument 2025-06-14 16:09:11 +10:00
Andrew Murray
925fe51904 Support saving I;16L images 2025-06-14 12:22:48 +10:00
Andrew Murray
4ba97d1327 Removed entries for non-existent modes 2025-06-14 12:22:48 +10:00
Andrew Murray
8ccdc399df
Remove padding between interleaved PCX palette data (#9005) 2025-06-11 16:19:09 +03:00
Andrew Murray
7f7c27f66a
Start QOI decoding with a zero-initialized array of previously seen pixels (#9008) 2025-06-11 22:56:57 +10:00
Andrew Murray
056dc89a3c
Correct drawing I;16 horizontal lines (#8985) 2025-06-10 15:12:40 +03:00
Hugo van Kemenade
ff624fe1e6
Reduce number of bytes read for PCX header (#9004) 2025-06-10 15:01:02 +03:00
Hugo van Kemenade
de053fbae0
Handle XMP data from an UNDEFINED TIFF tag (#8997) 2025-06-10 14:57:15 +03:00
Andrew Murray
36cea19532
Do not decode bytes in PPM error message (#8958) 2025-06-10 14:08:29 +03:00
Andrew Murray
646885e546
Parse XMP tag bytes without decoding to string (#8960)
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2025-06-10 14:06:28 +03:00
Andrew Murray
e65e5bea45 Start decoding with a zero-initialized array of previously seen pixels 2025-06-10 20:30:18 +10:00
Andrew Murray
b844007cdc
Clear TIFF core image if memory mapping was used for last load (#8962) 2025-06-10 17:03:31 +10:00
Andrew Murray
7b163cc35d
Use mask in C when drawing wide polygon lines (#8984) 2025-06-10 11:46:12 +10:00
Hugo van Kemenade
05636dca17
Simplify code (#8863) 2025-06-09 19:33:55 +03:00
Andrew Murray
7341e70f6b Reduced number of bytes read for header 2025-06-09 12:21:53 +10:00
Andrew Murray
313969cf0b Removed unnecessary seek 2025-06-09 12:21:49 +10:00
Andrew Murray
ef1f90fe1c
Check for equality rather than inequality
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-06-09 09:06:08 +10:00
Andrew Murray
0bb99e5561 Use save parameters as encoderinfo defaults 2025-06-07 15:08:16 +10:00
renovate[bot]
f3b05d6fab
Update dependency mypy to v1.16.0 (#8991)
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2025-06-07 11:07:21 +10:00
Andrew Murray
f03c23683e Trim whitespace from end when parsing XMP data 2025-06-04 20:08:58 +10:00