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