Commit Graph

4811 Commits

Author SHA1 Message Date
Hugo van Kemenade
3ced6ca78f
Load image palette into Python after converting to PA (#9152) 2025-10-04 11:02:35 +03:00
Hugo van Kemenade
a2e2939240
Check all reserved bytes in FLI header (#9183) 2025-10-04 11:02:10 +03:00
Hugo van Kemenade
5a5c51c7a2
Limit length of read operation in ImageFont._load_pilfont_data() (#9181) 2025-10-04 11:01:36 +03:00
Andrew Murray
e2a8e217da Removed _expand() 2025-09-29 23:18:47 +10:00
Andrew Murray
9ba1029d51 Clear C image when MPO frame image size changes 2025-09-21 07:44:47 +10:00
Andrew Murray
222933df54 Seek past BeginBinary data when parsing metadata 2025-09-21 07:44:31 +10:00
Andrew Murray
610d564aea
Merge branch 'main' into main 2025-09-16 19:43:34 +10:00
Andrew Murray
3a580e0f79 Use _ensure_mutable 2025-09-09 21:04:16 +10:00
Andrew Murray
bf18e5fe8b Assert fp is not None 2025-09-05 20:10:27 +10:00
Andrew Murray
a529797857 Assert fp is not None 2025-09-05 20:04:50 +10:00
Andrew Murray
476b122ae4 Simplified code 2025-09-05 20:00:04 +10:00
Hugo van Kemenade
ba04d58851
Only deprecate fromarray mode for changing data types (#9063) 2025-09-04 16:43:21 +03:00
Hugo van Kemenade
bd63c4fdba
Deprecate Image._show (#9186) 2025-09-04 13:57:15 +03:00
Hugo van Kemenade
29309e4637
Remove unused code (#9114) 2025-09-04 13:46:44 +03:00
Hugo van Kemenade
ae65315e78
Fix reading RGB and CMYK IPTC images (#9088) 2025-09-04 13:41:03 +03:00
Hugo van Kemenade
c0004726d6
Improve WalImageFile test coverage (#9189) 2025-09-04 13:37:39 +03:00
Hugo van Kemenade
c1538aca21
Update raqm to 0.10.3 (#9137) 2025-09-04 13:35:19 +03:00
Andrew Murray
e0da1a62ec Use walrus operator 2025-09-04 08:10:31 +10:00
Andrew Murray
877707379b Deprecate Image._show 2025-09-03 22:38:37 +10:00
Andrew Murray
e73b5ff4cd Do not unnecessarily update __offset 2025-09-03 19:35:01 +10:00
Andrew Murray
72c067af29 Check all reserved bytes in header 2025-09-03 19:23:26 +10:00
Andrew Murray
caacd38e1b Raise mode error before reading 2025-09-02 21:32:13 +10:00
Andrew Murray
485d9884cf Limit length of read operation 2025-09-02 21:24:57 +10:00
Andrew Murray
57a5f76e6d Removed unused split 2025-09-02 21:09:07 +10:00
pre-commit-ci[bot]
31eee6e5f7
[pre-commit.ci] pre-commit autoupdate (#9180) 2025-09-02 07:57:54 +10:00
Andrew Murray
1c70e716ce
Merge branch 'main' into fromarray_mode 2025-09-01 08:30:22 +10:00
Andrew Murray
c7a268e5a5
ImageMorph operations must have length 1 (#9102) 2025-09-01 08:23:30 +10:00
Andrew Murray
c6915f717f rotate() will use "angle % 360" 2025-08-29 07:43:51 +10:00
Andrew Murray
05a6010311 Fixed loading rotated PCD images 2025-08-29 07:35:18 +10:00
Andrew Murray
b33254f370
Merge branch 'main' into mode_enums 2025-08-28 08:36:22 +10:00
Hugo van Kemenade
35f23fb78c
Set correct size for rotated PCD images after opening (#9086) 2025-08-27 17:59:10 +03:00
Hugo van Kemenade
801f7adb3c
Simplify check for GBR width and height (#9089) 2025-08-27 17:58:03 +03:00
Hugo van Kemenade
146d03c250
Fix ZeroDivisionError in ImageStat (#9105) 2025-08-27 17:45:55 +03:00
Hugo van Kemenade
a74e4fa9a5
When deleting EXIF IFD tag, delete IFD data (#9083) 2025-08-27 17:43:19 +03:00
Hugo van Kemenade
9a2c5160f2
Allow alpha_composite to use LA images (#9066) 2025-08-27 17:42:50 +03:00
Andrew Murray
84e89bf5c3
Restored unpacker 2025-08-27 07:07:13 +10:00
Andrew Murray
178b3a70cc
Updated formatting 2025-08-27 06:58:51 +10:00
Andrew Murray
ed164d1bfa
pre-commit fixes 2025-08-26 22:13:45 +10:00
Andrew Murray
0d72707d4f Removed version from PDF comment 2025-08-26 08:55:11 +10:00
Andrew Murray
009444f9c5 Improved _accept length check 2025-08-21 21:56:03 +10:00
Andrew Murray
6a3bde05a4 Do not set core to DeferredError 2025-08-20 15:32:12 +10:00
Andrew Murray
c826b932c0 Document MAXBLOCK 2025-08-19 15:45:42 +10:00
Andrew Murray
62546924b5 Remove support for FreeType <= 2.9.0 2025-08-18 08:07:12 +10:00
Andrew Murray
ba66fec3d2 When converting RGBA to PA, use RGB to P quantization 2025-08-15 23:39:33 +10:00
Andrew Murray
0ae2611b44 Copy C palette when merging 2025-08-15 23:22:14 +10:00
Andrew Murray
6d974b61d6 Load image palette into Python after converting to PA 2025-08-15 14:37:31 +10:00
Andrew Murray
35c92308ad Allow RGBA palettes to work with expand() 2025-08-06 11:41:26 +10:00
Andrew Murray
4f8ac76407 Updated raqm to 0.10.3 2025-08-06 09:00:36 +10:00
Andrew Murray
b07dbc167c Fixed typo 2025-08-06 08:17:09 +10:00
Andrew Murray
0465627f0c Fill alpha channel when quantizing RGB images 2025-08-05 13:00:33 +10:00
Andrew Murray
fcdeb6404e Merge branch 'main' into imagetext 2025-08-02 22:18:51 +10:00
Andrew Murray
94a32628f3 Merge branch 'main' into fromarray_mode 2025-08-02 22:15:13 +10:00
Hugo van Kemenade
2ab301dcc9
Drop support for Python 3.9 (#9119)
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2025-08-02 12:02:20 +00:00
Hugo van Kemenade
eb59176b09
Move imports into TYPE_CHECKING (#9123) 2025-08-02 13:56:00 +03:00
Andrew Murray
ae6bb29b82 Removed support for NumPy 1.20 when type checking 2025-08-02 18:35:16 +10:00
Andrew Murray
27a7582b35 Moved imports into TYPE_CHECKING 2025-08-02 11:40:35 +10:00
Andrew Murray
726de49229
Merge branch 'main' into mode_enums 2025-08-01 10:25:32 +10:00
Andrew Murray
5fc0cf19c6
Merge branch 'main' into pyarrow_band_names 2025-08-01 10:25:14 +10:00
Hugo van Kemenade
162836a004
Use correct bands for two band histograms (#9054) 2025-07-31 14:40:57 +03:00
Andrew Murray
e8b3c17ebc Updated documentation 2025-07-29 07:28:03 +10:00
Andrew Murray
283dcfc024 Removed unused code 2025-07-26 23:39:11 +10:00
Andrew Murray
7afbafd1e2 Support saving variable length rational TIFF tags 2025-07-26 19:21:50 +10:00
Luke Granger-Brown
ec6d5efe4d
Deprecate ImageCmsProfile product_name and product_info (#8995)
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2025-07-26 17:33:11 +10:00
Andrew Murray
969e468749 Allow ImageDraw text() to use ImageText 2025-07-24 19:34:30 +10:00
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
79914ec8a5 Check for scaling in macOS windows 2025-07-13 15:11:23 +08:00
Yan-Ke Guo
1f7e9c3b51 Apply suggestions from code review
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2025-07-13 15:11:23 +08:00
GUO YANKE
5ce88dbe53 feat(ImageGrab): enhance grab function to support window-based screenshot capturing on macOS 2025-07-13 15:11:23 +08: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