1
1
from _typeshed import Self , SupportsRead , SupportsWrite
2
2
from collections .abc import Callable , Iterable , Iterator , MutableMapping , Sequence
3
+ from enum import IntEnum
3
4
from pathlib import Path
4
5
from typing import Any , ClassVar , Protocol , SupportsBytes , Union
5
6
from typing_extensions import Literal , TypeAlias
@@ -78,6 +79,46 @@ MAXCOVERAGE: Literal[1]
78
79
FASTOCTREE : Literal [2 ]
79
80
LIBIMAGEQUANT : Literal [3 ]
80
81
82
+ class Transpose (IntEnum ):
83
+ FLIP_LEFT_RIGHT : Literal [0 ]
84
+ FLIP_TOP_BOTTOM : Literal [1 ]
85
+ ROTATE_90 : Literal [2 ]
86
+ ROTATE_180 : Literal [3 ]
87
+ ROTATE_270 : Literal [4 ]
88
+ TRANSPOSE : Literal [5 ]
89
+ TRANSVERSE : Literal [6 ]
90
+
91
+ class Transform (IntEnum ):
92
+ AFFINE : Literal [0 ]
93
+ EXTENT : Literal [1 ]
94
+ PERSPECTIVE : Literal [2 ]
95
+ QUAD : Literal [3 ]
96
+ MESH : Literal [4 ]
97
+
98
+ class Resampling (IntEnum ):
99
+ NEAREST : Literal [0 ]
100
+ LANCZOS : Literal [1 ]
101
+ BILINEAR : Literal [2 ]
102
+ BICUBIC : Literal [3 ]
103
+ BOX : Literal [4 ]
104
+ HAMMING : Literal [5 ]
105
+
106
+ class Dither (IntEnum ):
107
+ NONE : Literal [0 ]
108
+ ORDERED : Literal [1 ]
109
+ RASTERIZE : Literal [2 ]
110
+ FLOYDSTEINBERG : Literal [3 ]
111
+
112
+ class Palette (IntEnum ):
113
+ WEB : Literal [0 ]
114
+ ADAPTIVE : Literal [1 ]
115
+
116
+ class Quantize (IntEnum ):
117
+ MEDIANCUT : Literal [0 ]
118
+ MAXCOVERAGE : Literal [1 ]
119
+ FASTOCTREE : Literal [2 ]
120
+ LIBIMAGEQUANT : Literal [3 ]
121
+
81
122
ID : list [str ]
82
123
OPEN : dict [str , Any ]
83
124
MIME : dict [str , str ]
@@ -137,7 +178,7 @@ class Image:
137
178
mode : _Mode | None = ...,
138
179
matrix : _ConversionMatrix | None = ...,
139
180
dither : int | None = ...,
140
- palette : Literal [0 , 1 ] = ...,
181
+ palette : Literal [Palette . WEB ] = ...,
141
182
colors : int = ...,
142
183
) -> Image : ...
143
184
def quantize (
@@ -176,15 +217,15 @@ class Image:
176
217
def resize (
177
218
self ,
178
219
size : tuple [int , int ],
179
- resample : _Resample | None = ...,
220
+ resample : Resampling | _Resample | None = ...,
180
221
box : tuple [float , float , float , float ] | None = ...,
181
222
reducing_gap : float | None = ...,
182
223
) -> Image : ...
183
224
def reduce (self , factor : int | tuple [int , int ] | list [int ], box : _Box | None = ...) -> Image : ...
184
225
def rotate (
185
226
self ,
186
227
angle : float ,
187
- resample : _Resample = ...,
228
+ resample : Resampling | _Resample = ...,
188
229
expand : bool = ...,
189
230
center : tuple [float , float ] | None = ...,
190
231
translate : tuple [float , float ] | None = ...,
@@ -204,17 +245,17 @@ class Image:
204
245
def split (self ) -> tuple [Image , ...]: ...
205
246
def getchannel (self , channel : int | str ) -> Image : ...
206
247
def tell (self ) -> int : ...
207
- def thumbnail (self , size : tuple [int , int ], resample : _Resample = ..., reducing_gap : float = ...) -> None : ...
248
+ def thumbnail (self , size : tuple [int , int ], resample : Resampling | _Resample = ..., reducing_gap : float = ...) -> None : ...
208
249
def transform (
209
250
self ,
210
251
size : _Size ,
211
- method : Literal [0 , 1 , 2 , 3 , 4 ],
252
+ method : Transform | Literal [0 , 1 , 2 , 3 , 4 ],
212
253
data = ...,
213
- resample : _Resample = ...,
254
+ resample : Resampling | _Resample = ...,
214
255
fill : int = ...,
215
256
fillcolor : _Color | int | None = ...,
216
257
) -> Image : ...
217
- def transpose (self , method : Literal [0 , 1 , 2 , 3 , 4 , 5 , 6 ]) -> Image : ...
258
+ def transpose (self , method : Transpose | Literal [0 , 1 , 2 , 3 , 4 , 5 , 6 ]) -> Image : ...
218
259
def effect_spread (self , distance : int ) -> Image : ...
219
260
def toqimage (self ): ...
220
261
def toqpixmap (self ): ...
0 commit comments