X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvMainWindow.cxx;h=7b83b7005b6e4debcc39be72531d4493c70cbd52;hb=1bfa0da6c453a072c0b04003e297dcf0073dc168;hp=ca0d09f9c33ff62c9e660ca9375bf34ca59574d8;hpb=42e050104aebe7830f2111d096f0dd6673987d1e;p=clitk.git diff --git a/vv/vvMainWindow.cxx b/vv/vvMainWindow.cxx index ca0d09f..7b83b70 100644 --- a/vv/vvMainWindow.cxx +++ b/vv/vvMainWindow.cxx @@ -2578,7 +2578,6 @@ void vvMainWindow::SaveSEScreenshot() void vvMainWindow::SaveScreenshotAllSlices() { QVTKWidget *widget = NOViewWidget; - vtkSmartPointer renderWindow = widget->GetRenderWindow(); int index = 0;// GetSlicerIndexFromItem(DataTree->selectedItems()[0]); vvSlicerManager * SM = mSlicerManagers[index]; @@ -2586,18 +2585,21 @@ void vvMainWindow::SaveScreenshotAllSlices() vvSlicer * slicer = SM->GetSlicer(0); int orientation = slicer->GetOrientation(); int nbSlices = image->GetSize()[orientation]; + vtkSmartPointer renderWindow = widget->GetRenderWindow(); // Select filename base QString filename = QFileDialog::getSaveFileName(this, tr("Save As (filename will be completed by slice number)"), itksys::SystemTools::GetFilenamePath(mSlicerManagers[index]->GetFileName()).c_str(), - "Images( *.png);;"); + "Images( *.png);;Images( *.jpg)"); // Loop on slices for(uint i=0; iSetSlice(i); - + slicer->SetSlice(i); // -> change the slice of the current slicer + SM->UpdateSlice(0); // --> this one emit UpdateSlice + QCoreApplication::flush(); // -> needed to force display of contours + // Screenshot vtkSmartPointer windowToImageFilter = vtkSmartPointer::New(); windowToImageFilter->SetInput(renderWindow); @@ -2607,7 +2609,13 @@ void vvMainWindow::SaveScreenshotAllSlices() vtkSmartPointer writer = vtkSmartPointer::New(); std::string fn = itksys::SystemTools::GetFilenameWithoutLastExtension(filename.toStdString()); - fn = fn + "_" + clitk::toString(i) + itksys::SystemTools::GetFilenameLastExtension(filename.toStdString()); + std::string num = clitk::toString(i); + if (i<10) num = "0"+num; + if (i<100) num = "0"+num; + if (i<1000) num = "0"+num; + + fn = itksys::SystemTools::GetFilenamePath(filename.toStdString()) + "/"+ fn + + "_" + num + itksys::SystemTools::GetFilenameLastExtension(filename.toStdString()); writer->SetFileName(fn.c_str()); writer->SetInput(windowToImageFilter->GetOutput()); writer->Write();