mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-07-04 20:03:20 +03:00
Simplified code
This commit is contained in:
parent
507fefbce4
commit
6ab93935a7
|
@ -82,17 +82,10 @@ class SgiImageFile(ImageFile.ImageFile):
|
|||
# zsize : channels count
|
||||
zsize = i16(s, 10)
|
||||
|
||||
# layout
|
||||
layout = bpc, dimension, zsize
|
||||
|
||||
# determine mode from bits/zsize
|
||||
rawmode = ""
|
||||
try:
|
||||
rawmode = MODES[layout]
|
||||
rawmode = MODES[(bpc, dimension, zsize)]
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
if rawmode == "":
|
||||
msg = "Unsupported SGI image mode"
|
||||
raise ValueError(msg)
|
||||
|
||||
|
@ -156,24 +149,15 @@ def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None:
|
|||
# Run-Length Encoding Compression - Unsupported at this time
|
||||
rle = 0
|
||||
|
||||
# Number of dimensions (x,y,z)
|
||||
dim = 3
|
||||
# X Dimension = width / Y Dimension = height
|
||||
x, y = im.size
|
||||
if im.mode == "L" and y == 1:
|
||||
dim = 1
|
||||
elif im.mode == "L":
|
||||
dim = 2
|
||||
# Z Dimension: Number of channels
|
||||
z = len(im.mode)
|
||||
|
||||
if dim in {1, 2}:
|
||||
z = 1
|
||||
|
||||
# assert we've got the right number of bands.
|
||||
if len(im.getbands()) != z:
|
||||
msg = f"incorrect number of bands in SGI write: {z} vs {len(im.getbands())}"
|
||||
raise ValueError(msg)
|
||||
# Number of dimensions (x,y,z)
|
||||
if im.mode == "L":
|
||||
dim = 1 if y == 1 else 2
|
||||
else:
|
||||
dim = 3
|
||||
|
||||
# Minimum Byte value
|
||||
pinmin = 0
|
||||
|
|
Loading…
Reference in New Issue
Block a user