[gelöst]QByteArray wird ungewöhnlich groß
Verfasst: 7. November 2007 09:57
Hallo,
ich fange gleich mal mit dem Code an, um den es sich handelt:
Ich hole mir aus dem FrameBuffer das aktuelle Bild als QImage, speichere dies in mein QByteArray, da ich dieses danach noch via TCPSocket versenden möchte. Klappt auch alles wunderbar, bis auf einen kleinen Haken...
Diese Abfrage, mache ich nach dem oben angeführtem Text.
und byte.size() gibt mir extrem unterschiedliche Werte. Im Schnitt, habe ich eine Göße von 20 000, sobald ich jetzt aber das aktuelle Fenster schließe und z.B. den Desktop anzeigen lasse, liegt die Größe zwischen 100 000 und 1 000 000, was ntürlich nicht mehr sende fähig ist.
Wenn ich dann wieder zurück gehe und z.B. wieder VS anzeigen lasse geht die Größe sofort wieder runter. Ich kann auch kein Muster erkennen, bei welche Fenster das auftritt und bei welchen nicht.
Wie kann es sein, dass dort solche Schwankungen auftreten und wie kann ich es verhindern?
Das Bild, welches ich aus dem framebuffer hole ist immer gleich groß. Es kann also nur an framePic.save liegen. Ich hab auch verschieden QImage Formate probiert. Vom jpg, png über PGM zu PPM.
Vielleicht ist es ja einfach eine Kleinigkeit die ich übersehe 8)
Info: ich nutze QT4 und Visual Studio 2005
ich fange gleich mal mit dem Code an, um den es sich handelt:
Code: Alles auswählen
glReadBuffer(GL_FRONT);
framePic = grabFrameBuffer();
framePic.convertToFormat(QImage::Format_Mono);
buffer.setBuffer(&byte);
buffer.open(QIODevice::WriteOnly);
framePic.save(&buffer, "PPM", 0);
buffer.close();
Code: Alles auswählen
qDebug() << "Byte:" << byte.size();
und byte.size() gibt mir extrem unterschiedliche Werte. Im Schnitt, habe ich eine Göße von 20 000, sobald ich jetzt aber das aktuelle Fenster schließe und z.B. den Desktop anzeigen lasse, liegt die Größe zwischen 100 000 und 1 000 000, was ntürlich nicht mehr sende fähig ist.
Wenn ich dann wieder zurück gehe und z.B. wieder VS anzeigen lasse geht die Größe sofort wieder runter. Ich kann auch kein Muster erkennen, bei welche Fenster das auftritt und bei welchen nicht.
Wie kann es sein, dass dort solche Schwankungen auftreten und wie kann ich es verhindern?
Das Bild, welches ich aus dem framebuffer hole ist immer gleich groß. Es kann also nur an framePic.save liegen. Ich hab auch verschieden QImage Formate probiert. Vom jpg, png über PGM zu PPM.
Vielleicht ist es ja einfach eine Kleinigkeit die ich übersehe 8)
Info: ich nutze QT4 und Visual Studio 2005