@@ -1194,8 +1194,8 @@ def seek(self, frame: int) -> None:
11941194 # Create a new core image object on second and
11951195 # subsequent frames in the image. Image may be
11961196 # different size/mode.
1197- Image ._decompression_bomb_check (self .size )
1198- self .im = Image .core .new (self .mode , self .size )
1197+ Image ._decompression_bomb_check (self ._tile_size )
1198+ self .im = Image .core .new (self .mode , self ._tile_size )
11991199
12001200 def _seek (self , frame : int ) -> None :
12011201 self .fp = self ._fp
@@ -1276,8 +1276,8 @@ def load(self) -> Image.core.PixelAccess | None:
12761276 return super ().load ()
12771277
12781278 def load_prepare (self ) -> None :
1279- if self ._im is None and self . _will_be_transposed :
1280- self .im = Image .core .new (self .mode , self .size [:: - 1 ] )
1279+ if self ._im is None :
1280+ self .im = Image .core .new (self .mode , self ._tile_size )
12811281 ImageFile .ImageFile .load_prepare (self )
12821282
12831283 def load_end (self ) -> None :
@@ -1421,9 +1421,9 @@ def _setup(self) -> None:
14211421 if not isinstance (xsize , int ) or not isinstance (ysize , int ):
14221422 msg = "Invalid dimensions"
14231423 raise ValueError (msg )
1424+ self ._tile_size = xsize , ysize
14241425 orientation = self .tag_v2 .get (ExifTags .Base .Orientation )
1425- self ._will_be_transposed = orientation in (5 , 6 , 7 , 8 )
1426- if self ._will_be_transposed :
1426+ if orientation in (5 , 6 , 7 , 8 ):
14271427 self ._size = ysize , xsize
14281428 else :
14291429 self ._size = xsize , ysize
0 commit comments