Отображение изображения из 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
.