ich gebe ein Videostream an ein Label aus.
Das ganze passiert soweit in einer Schleife, welche durch
den bool-Werte für button-toggled(bool) gesetzt wird.
Jedoch läßt sich diese Schleife nicht mehr anhalten?
Code: Alles auswählen
//im Konstruktor
connect( start_bto, SIGNAL( toggled(bool) ), this, SLOT( frameGrabbing_Slot(bool) ) );
Code: Alles auswählen
void ARBlueBox::frameGrabbing_Slot( bool stop )
{
while(stop)
{
m_frameGrabber.Grab32BitFrame();
dataPtr = (unsigned char*)m_frameGrabber.GetBuffer();
if(dataPtr!=0)
{
QImage img(frame_xsize, frame_ysize, 32, 0);
int idx = 0;
for (int i = 0; i < frame_ysize; ++i) {
QRgb *line = (QRgb*)img.scanLine(i);
for (int j = 0; j < frame_xsize; ++j) {
line[j] = qRgba(dataPtr[idx + 2], dataPtr[idx + 1], dataPtr[idx], dataPtr[idx + 3]);
idx += 4; // für RGBA hier += 4
}
}
bitBlt(videoplane, 0, 0, &img);
}
}
}
Gruß und Dank