So i have a camera over ethernet. In SDK there are event OnNewFrame(int lPicFormat, int lWidth, int lHeight, int lDataSize, QVariant &pvData), where pvData is interesting array of image bytes. So, i need to convert this array to QT understanding format and show in form(for example in label). Can anybody help me?
            Asked
            
        
        
            Active
            
        
            Viewed 4,340 times
        
    -2
            
            
        - 
                    Take a look at QPixmap::loadFromData like this http://stackoverflow.com/questions/6826683/load-qpixmap-from-qbytearray-in-qt – Leo Chapiro Jun 13 '16 at 09:19
 - 
                    @duDE function QPixmap::loadFromData returns false. I think, it's because my pvData array hasn't any headers. It's usual array of bits/pixel. – user3418460 Jun 13 '16 at 10:08
 
2 Answers
1
            
            
        Display your array into a label
QByteArray mByteArray;
QPixmap mPixmap;
mPixmap.loadFromData(mByteArray,"JPG");
ui->label->setPixmap(mPixmap);
and check what mpixmap.loadFromData(data,"JPG"); returns. If it returns false then it could not load your data.
If you want to display QByteArray as image, look at this:  How to display a QByteArray as an Image
        Mara Black
        
- 1,666
 - 18
 - 23
 
- 
                    there's no headers in my array. Yes, i want to display QByteArray. There are no thread in your link. – user3418460 Jun 13 '16 at 10:22
 
0
            QImage provide several constructor Look at http://doc.qt.io/qt-4.8/qimage.html#QImage-6. Then you can use the QPixmap::fromImage method http://doc.qt.io/qt-4.8/qpixmap.html#fromImage to convert the image to a QPixmap and set to a QLabel
        Daniele
        
- 26
 - 3