QImage loadfromData



  • Hallo Zusammen,

    ich versuche einen Screenshot von einen Osciloscope aufzunehem und in einen GUI darzustellen.
    folgende habe ich versucht:

    QByteArray hilfsVariable = VisaAgilent::instance()->getScreenshot(); // Object von dem Oscilloscope
    	
    if (_img_l.loadFromData(hilfsVariable,"BMP"))
    	{
    		ui.labImage->setPixmap(QPixmap::fromImage(_img_l));
    	}
    // es ist immer false
    

    Was mich auch gewundert hat, dass es schon funktioniert hat aber dann plötzlich nicht mehr warum weiss ich nicht
    Was mache ich denn falsch?

    Danke



  • @Galilio Hi,

    wenn es früher einmal funktioniert hat, und auf einmal nicht mehr, ist meine erste Vermutung, VisaAgilent::instance()->getScreenshot() hat nicht richtig funktioniert.

    Überprüfe einmal die Größe des QByteArrays, wenn du zum Beispiel aus einem leeren QByteArray versuchst ein QImage zu machen, wirst du immer ein FALSE als Antwort bekommen.



  • Hi,

    QByteArray hilfsVariable = VisaAgilent::instance()->getScreenshot(); // Object von dem Oscilloscope
    

    funktioniert immer.
    Das Object ist immer da und das habe ich auch kontrolliert aber warum ist nicht dargestellt ist mir einen Rätsel.
    z.B wie gerade einmal funktioniert und dann wieder nicht



  • @Galilio
    ok, die Frage ist noch ob die Funktion immer funktioniert, sondern ob das QByteArray was gefüllt wird 0 ist oder nicht.

    Einfach

    #include <QDebug>
    ...
    QByteArray hilfsVariable = VisaAgilent::instance()->getScreenshot();
    qDebug() << hilfsVariable.size();
    

    sollte etwas Klarheit schaffen.



  • Das habe ich auch so gemacht aber auf dem GUI in dem ich das Buffer den Size() lese und anzeigen
    Jetzt z.B könnte keines Bild dargestellt obwohl ich der:

    qDebug() << hilfsVariable.size();
    

    eine grosse von 403478 hat



  • @Galilio said in QImage loadfromData:

    Das habe ich auch so gemacht aber auf dem GUI in dem ich das Buffer den Size() lese und anzeigen
    Jetzt z.B könnte keines Bild dargestellt obwohl der:

    qDebug() << hilfsVariable.size();
    

    eine grosse von 403478 hat



  • Morgen zusammen,

    gibt es vielleicht eine andere Möglichkeit wie eine Image gelesen wird?
    Warum bei der vorgestellte Variante:

    
    QImage loadfromData
    

    nicht funktioniert?



  • This post is deleted!


  • Eine Frage noch:
    Ist dieses

    image.loadFromData(....)
    

    Funktion mit einen Bug behaftet?



  • This post is deleted!


  • Bei genauere Betrachtung habe ich festgestellt, dass die Daten bei der beiden Fälle anders aussehen.
    Also problem ist bei der

    getScreenshot()
    

    Die liefert nicht immer saubere Werte und deswegen hat die

    loadFromData
    

    mühe bei der Zuordnung der Daten.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.