diff --git a/BiliDriveEx/__init__.py b/BiliDriveEx/__init__.py index bdeccec4f50b07425387e53d4f39f1d781cac3a2..9e8e89cf40ad0f116b1f7be5e7ef9752a198e294 100644 --- a/BiliDriveEx/__init__.py +++ b/BiliDriveEx/__init__.py @@ -7,4 +7,4 @@ https://github.com/apachecn/BiliDriveEx""" __author__ = "ApacheCN" __email__ = "apachecn@163.com" __license__ = "SATA" -__version__ = "2019.01.22" +__version__ = "2019.03.06" diff --git a/BiliDriveEx/encoder.py b/BiliDriveEx/encoder.py index 9fa02ba175b3380f7f9b7bba9589c4b239cd1e33..5d8252b1b886eff44a8337d2d1c61bd95cf319ff 100644 --- a/BiliDriveEx/encoder.py +++ b/BiliDriveEx/encoder.py @@ -50,14 +50,14 @@ class Encoder: minsz = minw * minh * dep if len(data) < minsz: - data = data + b'\0' * (minsz - len(data)) + data += b'\0' * (minsz - len(data)) - rem = len(data) % (minw * dep) - if rem != 0: - data = data + b'\0' * (minw * dep - rem) - hei = len(data) // (minw * dep) + side = math.ceil(math.sqrt(len(data) / dep)) + total = side * side * dep + if len(data) < total: + data += b'\0' * (total - len(data)) - img = Image.frombytes(mode, (minw, hei), data) + img = Image.frombytes(mode, (side, side), data) bio = BytesIO() img.save(bio, 'png') return bio.getvalue()