mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 16:07:30 +03:00 
			
		
		
		
	Merge branch 'main' into exif
This commit is contained in:
		
						commit
						10b48a60c1
					
				
							
								
								
									
										7
									
								
								.github/workflows/wheels-dependencies.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/wheels-dependencies.sh
									
									
									
									
										vendored
									
									
								
							|  | @ -19,7 +19,7 @@ FREETYPE_VERSION=2.13.2 | ||||||
| HARFBUZZ_VERSION=8.3.0 | HARFBUZZ_VERSION=8.3.0 | ||||||
| LIBPNG_VERSION=1.6.40 | LIBPNG_VERSION=1.6.40 | ||||||
| JPEGTURBO_VERSION=3.0.1 | JPEGTURBO_VERSION=3.0.1 | ||||||
| OPENJPEG_VERSION=2.5.0 | OPENJPEG_VERSION=2.5.2 | ||||||
| XZ_VERSION=5.4.5 | XZ_VERSION=5.4.5 | ||||||
| TIFF_VERSION=4.6.0 | TIFF_VERSION=4.6.0 | ||||||
| LCMS2_VERSION=2.16 | LCMS2_VERSION=2.16 | ||||||
|  | @ -40,7 +40,7 @@ BROTLI_VERSION=1.1.0 | ||||||
| 
 | 
 | ||||||
| if [[ -n "$IS_MACOS" ]] && [[ "$CIBW_ARCHS" == "x86_64" ]]; then | if [[ -n "$IS_MACOS" ]] && [[ "$CIBW_ARCHS" == "x86_64" ]]; then | ||||||
|     function build_openjpeg { |     function build_openjpeg { | ||||||
|         local out_dir=$(fetch_unpack https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz openjpeg-2.5.0.tar.gz) |         local out_dir=$(fetch_unpack https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz openjpeg-${OPENJPEG_VERSION}.tar.gz) | ||||||
|         (cd $out_dir \ |         (cd $out_dir \ | ||||||
|             && cmake -DCMAKE_INSTALL_PREFIX=$BUILD_PREFIX -DCMAKE_INSTALL_NAME_DIR=$BUILD_PREFIX/lib . \ |             && cmake -DCMAKE_INSTALL_PREFIX=$BUILD_PREFIX -DCMAKE_INSTALL_NAME_DIR=$BUILD_PREFIX/lib . \ | ||||||
|             && make install) |             && make install) | ||||||
|  | @ -93,6 +93,9 @@ function build { | ||||||
|         done |         done | ||||||
|     fi |     fi | ||||||
|     build_openjpeg |     build_openjpeg | ||||||
|  |     if [ -f /usr/local/lib64/libopenjp2.so ]; then | ||||||
|  |         cp /usr/local/lib64/libopenjp2.so /usr/local/lib | ||||||
|  |     fi | ||||||
| 
 | 
 | ||||||
|     ORIGINAL_CFLAGS=$CFLAGS |     ORIGINAL_CFLAGS=$CFLAGS | ||||||
|     CFLAGS="$CFLAGS -O3 -DNDEBUG" |     CFLAGS="$CFLAGS -O3 -DNDEBUG" | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #!/bin/bash | #!/bin/bash | ||||||
| # install openjpeg | # install openjpeg | ||||||
| 
 | 
 | ||||||
| archive=openjpeg-2.5.0 | archive=openjpeg-2.5.2 | ||||||
| 
 | 
 | ||||||
| ./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/main/$archive.tar.gz | ./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/main/$archive.tar.gz | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -177,7 +177,7 @@ Many of Pillow's features require external libraries: | ||||||
| * **openjpeg** provides JPEG 2000 functionality. | * **openjpeg** provides JPEG 2000 functionality. | ||||||
| 
 | 
 | ||||||
|   * Pillow has been tested with openjpeg **2.0.0**, **2.1.0**, **2.3.1**, |   * Pillow has been tested with openjpeg **2.0.0**, **2.1.0**, **2.3.1**, | ||||||
|     **2.4.0** and **2.5.0**. |     **2.4.0**, **2.5.0** and **2.5.2**. | ||||||
|   * Pillow does **not** support the earlier **1.5** series which ships |   * Pillow does **not** support the earlier **1.5** series which ships | ||||||
|     with Debian Jessie. |     with Debian Jessie. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -14,6 +14,8 @@ only work on L and RGB images. | ||||||
| .. autofunction:: colorize | .. autofunction:: colorize | ||||||
| .. autofunction:: crop | .. autofunction:: crop | ||||||
| .. autofunction:: scale | .. autofunction:: scale | ||||||
|  | .. autoclass:: SupportsGetMesh | ||||||
|  |     :show-inheritance: | ||||||
| .. autofunction:: deform | .. autofunction:: deform | ||||||
| .. autofunction:: equalize | .. autofunction:: equalize | ||||||
| .. autofunction:: expand | .. autofunction:: expand | ||||||
|  |  | ||||||
|  | @ -411,7 +411,15 @@ def scale( | ||||||
|         return image.resize(size, resample) |         return image.resize(size, resample) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class _SupportsGetMesh(Protocol): | class SupportsGetMesh(Protocol): | ||||||
|  |     """ | ||||||
|  |     An object that supports the ``getmesh`` method, taking an image as an | ||||||
|  |     argument, and returning a list of tuples. Each tuple contains two tuples, | ||||||
|  |     the source box as a tuple of 4 integers, and a tuple of 8 integers for the | ||||||
|  |     final quadrilateral, in order of top left, bottom left, bottom right, top | ||||||
|  |     right. | ||||||
|  |     """ | ||||||
|  | 
 | ||||||
|     def getmesh( |     def getmesh( | ||||||
|         self, image: Image.Image |         self, image: Image.Image | ||||||
|     ) -> list[ |     ) -> list[ | ||||||
|  | @ -421,7 +429,7 @@ class _SupportsGetMesh(Protocol): | ||||||
| 
 | 
 | ||||||
| def deform( | def deform( | ||||||
|     image: Image.Image, |     image: Image.Image, | ||||||
|     deformer: _SupportsGetMesh, |     deformer: SupportsGetMesh, | ||||||
|     resample: int = Image.Resampling.BILINEAR, |     resample: int = Image.Resampling.BILINEAR, | ||||||
| ) -> Image.Image: | ) -> Image.Image: | ||||||
|     """ |     """ | ||||||
|  |  | ||||||
|  | @ -308,21 +308,16 @@ DEPS = { | ||||||
|         "libs": [r"Lib\MS\*.lib"], |         "libs": [r"Lib\MS\*.lib"], | ||||||
|     }, |     }, | ||||||
|     "openjpeg": { |     "openjpeg": { | ||||||
|         "url": "https://github.com/uclouvain/openjpeg/archive/v2.5.0.tar.gz", |         "url": "https://github.com/uclouvain/openjpeg/archive/v2.5.2.tar.gz", | ||||||
|         "filename": "openjpeg-2.5.0.tar.gz", |         "filename": "openjpeg-2.5.2.tar.gz", | ||||||
|         "dir": "openjpeg-2.5.0", |         "dir": "openjpeg-2.5.2", | ||||||
|         "license": "LICENSE", |         "license": "LICENSE", | ||||||
|         "patch": { |  | ||||||
|             r"src\lib\openjp2\ht_dec.c": { |  | ||||||
|                 "#ifdef OPJ_COMPILER_MSVC\n    return (OPJ_UINT32)__popcnt(val);": "#if defined(OPJ_COMPILER_MSVC) && (defined(_M_IX86) || defined(_M_AMD64))\n    return (OPJ_UINT32)__popcnt(val);",  # noqa: E501 |  | ||||||
|             } |  | ||||||
|         }, |  | ||||||
|         "build": [ |         "build": [ | ||||||
|             *cmds_cmake( |             *cmds_cmake( | ||||||
|                 "openjp2", "-DBUILD_CODEC:BOOL=OFF", "-DBUILD_SHARED_LIBS:BOOL=OFF" |                 "openjp2", "-DBUILD_CODEC:BOOL=OFF", "-DBUILD_SHARED_LIBS:BOOL=OFF" | ||||||
|             ), |             ), | ||||||
|             cmd_mkdir(r"{inc_dir}\openjpeg-2.5.0"), |             cmd_mkdir(r"{inc_dir}\openjpeg-2.5.2"), | ||||||
|             cmd_copy(r"src\lib\openjp2\*.h", r"{inc_dir}\openjpeg-2.5.0"), |             cmd_copy(r"src\lib\openjp2\*.h", r"{inc_dir}\openjpeg-2.5.2"), | ||||||
|         ], |         ], | ||||||
|         "libs": [r"bin\*.lib"], |         "libs": [r"bin\*.lib"], | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user