2013-07-17 5 views
1

Это то, что я до сих пор:Сохранить массив байт, как .png/.jpg файл в QT

QFile file(fileName); 
file.open(QIODevice::WriteOnly); 
QPixmap pixmap = QPixmap.loadFromData((const uchar *) imageBuffer_pointer, (sizeof(imageRows) * sizeof(imageCols)); 
pixmap.save(&file, "JPG"); 
pixmap.save(&file, "PNG"); 

Но он производит только 0 байт файлы изображений

+0

К слову, вы уверены, что создали правильное изображение из данных? Например, проверяя размер pixmap? –

+0

Да, изображение действительно. Я могу отобразить его на QT с помощью live-канала, теперь я хочу записать его – James

+0

nevermind, оказалось, что он записывал кадр после того, что я думал, что это – James

ответ

2

Это гораздо проще просто дать save() Функция имени файла в качестве первого параметра:

QPixmap pixmap = QPixmap.loadFromData((const uchar *) imageBuffer_pointer, 
    (sizeof(imageRows) * sizeof(imageCols)); 
pixmap.save(fileName, "JPG"); 
+0

К сожалению, изображение недействительно, это также прояснило ненужный код благодаря – James