Я пишу API с Flask, в котором я получаю изображение через POST
и делю его на плитки, которые я хочу отправить в ответ.
Сначала я получаю изображение,затем откройте его как Image
объект с PIL
и создайте плитки из операции обрезки.Пока все хорошо.
Теперь я хотел бы отправить их в виде двоичных файлов, чтобы отобразить их спереди, как объяснено здесь (хотя я не уверен, является ли это лучшимпуть).Я попытался с flask.jsonify
, который сказал мне, что объект bytes
не является json-serializable.
Поэтому, как я могу отправить список созданных плиток?
Мой маршрутследующим образом:
import io
from flask import request
from PIL import Image
from . import app
@app.route("/map/tileset/prepare", methods=['POST'])
def prepare_tileset():
image_source = request.files['image']
width = int(request.form['tileWidth'])
height = int(request.form['tileHeight'])
data = image_source.stream.read()
image_descriptor = io.BytesIO(data)
original = Image.open(image_descriptor)
tiles = []
for i in range(original.width // width):
for j in range(original.height // height):
rect = ((width)*i, (height)*j, (width)*(i+1) - 1, (height)*(j+1) - 1)
tile = original.crop(rect)
# It works until here, but I don't know what to do after
tiles.append(tile)
return tiles