Отображение изображения из SQLite

Работаю в Godot. Есть таблица, в которой хранятся изображения. Загружаю их следующим образом

    var img = texture.get_image().save_jpg_to_buffer()
    dict["CoverImg"] = img
    db.insert_row(tableName,dict)

А при попытке загрузить данные назад и создать из них изображение получаю ошибку

Expected Image data size of 683x1022x3 (RGB8 without mipmaps) = 2094078 bytes, got 113150 bytes instead.

Код такой:

var image_string = array_reading[11]["CoverImg"]
var image = Image.new()
image.create_from_data(width, height, false, format, image_string)
var texture = ImageTexture.new()
texture.create_from_image(image)
$BookCover.texture = texture

Высоту, ширину и формат тоже сохраняю в таблицу, там ошибки быть не должно

    var img = texture.get_image()
    width =  img.get_width()
    height = img.get_height()
    format = img.get_format()

Вероятно, причина в Packed Byte Array, но. что с этим сделать, нагуглить не получается


Ответы (1 шт):

Автор решения: user7860670

Вы храните jpeg, а загружаете как несжатое изображение. Используйте метод load_jpg_from_buffer.

→ Ссылка