Change subwindow save function and add a static function to PlaYUVerStream to save any imagem as long as supported. Support for current frame save is also present

This commit is contained in:
jfmcarreira committed 2014-10-26 23:45:55 +00:00
1 parent f14c5c09b7
commit 06148e579b
3 files changed
+24 -35

No files matched your search

+7 -26
View File
@@ -236,36 +236,17 @@ Bool SubWindowHandle::save( QString filename )
{
Bool iRet = false;
QApplication::setOverrideCursor( Qt::WaitCursor );
if( !m_pCurrStream || m_cSelectedArea.isValid() )
PlaYUVerFrame* saveFrame = m_pcCurrFrame;
if( m_cSelectedArea.isValid() )
{
PlaYUVerFrame* savedFrame = m_pcCurrFrame;
if( m_cSelectedArea.isValid() )
{
savedFrame = new PlaYUVerFrame( m_pcCurrFrame, m_cSelectedArea );
}
if( !savedFrame )
{
return false;
}
Int iFileFormat = PlaYUVerStream::INVALID_INPUT;
QStringList formatsExt = PlaYUVerStream::supportedReadFormatsExt();
QString currExt = QFileInfo( filename ).suffix();
if( formatsExt.contains( currExt ) )
{
iFileFormat = formatsExt.indexOf( currExt );
}
if( iFileFormat == PlaYUVerStream::YUVINPUT )
{
return false;
}
savedFrame->FrametoRGB8();
QImage qimg = QImage( savedFrame->getQImageBuffer(), savedFrame->getWidth(), savedFrame->getHeight(), QImage::Format_RGB888 );
iRet = qimg.save( filename );
saveFrame = new PlaYUVerFrame( m_pcCurrFrame, m_cSelectedArea );
}
else
if( !saveFrame )
{
iRet = m_pCurrStream->saveFrame( filename );
return false;
}
iRet = PlaYUVerStream::saveFrame( filename, saveFrame );
QApplication::restoreOverrideCursor();
return iRet;
}