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:
1 parent
f14c5c09b7
commit
06148e579b
3 files changed
+24
-35
No files matched your search
@@ -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;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user