Он делает это, потому что input.nextInt();
не фиксирует новую строку. вы могли бы сделать, как и другие, добавив под ним input.nextLine();
. В качестве альтернативы вы можете сделать это в стиле C # и разобрать nextLine на целое число так:
int number = Integer.parseInt(input.nextLine());
Выполнение этого работает так же хорошо, и оно сохраняет строку кода.
В документации для Image.open
говорится, что он может принимать файл-подобный объект, поэтому вы должны иметь возможность передать объект io.BytesIO
, созданный с объекта bytes
, содержащий закодированный изображение:
from PIL import Image
import io
image_data = ... # byte values of the image
image = Image.open(io.BytesIO(image_data))
image.show()
Вы можете попробовать следующее:
image = Image.frombytes('RGBA', (128,128), image_data, 'raw')
Исходный код:blockquote>def frombytes(mode, size, data, decoder_name="raw", *args): param mode: The image mode. param size: The image size. param data: A byte buffer containing raw data for the given mode. param decoder_name: What decoder to use.