@JuniorHelp

Как создать файл формата bmp и записать туда массив байтов?

Байты хранятся в QByteArray
Вариант создать файл .bmp с помощью QFile успешно создает файл но при открытии такого файла выходит ошибка
"BMP image has bogus header data"
QFile newDoc("fileName.bmp");

    if(newDoc.open(QIODevice::WriteOnly)){
        newDoc.write(image_byte);
    }

Другой вариант не создает файл
QImage image;
         QByteArray ba;
         QBuffer buffer(&ba);
         buffer.open(QIODevice::WriteOnly);
         image.save(&buffer, "PNG");


QImage img;
        img.loadFromData(image_byte);
        QPixmap px = QPixmap::fromImage(img);
        img.save("my_image","BMP");


Байты в массив берутся из XML
if(domElement.tagName() == "image"){
                image_byte.append(domElement.text());
  • Вопрос задан
  • 358 просмотров
Решения вопроса 1
GavriKos
@GavriKos
А эти байты из себя хоть представляют валидный bmp с заголовком? Или там просто пиксели?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы