|
25 | 25 | from typing import IO |
26 | 26 |
|
27 | 27 | from . import Image, ImageFile, PngImagePlugin, features |
28 | | -from ._deprecate import deprecate |
29 | 28 |
|
30 | 29 | enable_jpeg2k = features.check_codec("jpg_2000") |
31 | 30 | if enable_jpeg2k: |
@@ -275,34 +274,25 @@ def _open(self) -> None: |
275 | 274 | self.best_size[1] * self.best_size[2], |
276 | 275 | ) |
277 | 276 |
|
278 | | - @property # type: ignore[override] |
279 | | - def size(self) -> tuple[int, int] | tuple[int, int, int]: |
| 277 | + @property |
| 278 | + def size(self) -> tuple[int, int]: |
280 | 279 | return self._size |
281 | 280 |
|
282 | 281 | @size.setter |
283 | | - def size(self, value: tuple[int, int] | tuple[int, int, int]) -> None: |
284 | | - if len(value) == 3: |
285 | | - deprecate("Setting size to (width, height, scale)", 12, "load(scale)") |
286 | | - if value in self.info["sizes"]: |
287 | | - self._size = value # type: ignore[assignment] |
| 282 | + def size(self, value: tuple[int, int]) -> None: |
| 283 | + # Check that a matching size exists, |
| 284 | + # or that there is a scale that would create a size that matches |
| 285 | + for size in self.info["sizes"]: |
| 286 | + simple_size = size[0] * size[2], size[1] * size[2] |
| 287 | + scale = simple_size[0] // value[0] |
| 288 | + if simple_size[1] / value[1] == scale: |
| 289 | + self._size = value |
288 | 290 | return |
289 | | - else: |
290 | | - # Check that a matching size exists, |
291 | | - # or that there is a scale that would create a size that matches |
292 | | - for size in self.info["sizes"]: |
293 | | - simple_size = size[0] * size[2], size[1] * size[2] |
294 | | - scale = simple_size[0] // value[0] |
295 | | - if simple_size[1] / value[1] == scale: |
296 | | - self._size = value |
297 | | - return |
298 | 291 | msg = "This is not one of the allowed sizes of this image" |
299 | 292 | raise ValueError(msg) |
300 | 293 |
|
301 | 294 | def load(self, scale: int | None = None) -> Image.core.PixelAccess | None: |
302 | | - if scale is not None or len(self.size) == 3: |
303 | | - if scale is None and len(self.size) == 3: |
304 | | - scale = self.size[2] |
305 | | - assert scale is not None |
| 295 | + if scale is not None: |
306 | 296 | width, height = self.size[:2] |
307 | 297 | self.size = width * scale, height * scale |
308 | 298 | self.best_size = width, height, scale |
|
0 commit comments