[vtkusers] vtkWindowToImageFilter - black image

Bill Lorensen bill.lorensen at gmail.com
Wed Oct 8 15:19:18 EDT 2014


I see the same problem. I'll look into it...

Bill


On Wed, Oct 8, 2014 at 1:45 PM, ingvar john via vtkusers
<vtkusers at vtk.org> wrote:
> Hello everyone.
>
> This is my first time with VTK and first time I am posting to this list.
> Does anyone have an idea why this code produces black image as a screenshot
> (attached). I installed vtk 6.1 on Ubuntu 14.04 (on virtual machine). This
> is just the example I found on
> http://www.cmake.org/Wiki/VTK/Examples/Cxx/Utilities/Screenshot for saving a
> screenshot of the render window. I looked around during 2 days but I haven't
> find a solution.
>
> Thanks a lot.
>
> #include <vtkPolyDataMapper.h>
> #include <vtkActor.h>
> #include <vtkSmartPointer.h>
> #include <vtkRenderWindow.h>
> #include <vtkRenderer.h>
> #include <vtkRenderWindowInteractor.h>
> #include <vtkPolyData.h>
> #include <vtkSphereSource.h>
> #include <vtkWindowToImageFilter.h>
> #include <vtkPNGWriter.h>
>
>
>
> int main(int, char *[])
> {
>   vtkSmartPointer<vtkSphereSource> sphereSource =
>     vtkSmartPointer<vtkSphereSource>::New();
>   sphereSource->SetCenter(0.0, 0.0, 0.0);
>   sphereSource->SetRadius(5.0);
>   sphereSource->Update();
>
>   // Visualize
>   vtkSmartPointer<vtkPolyDataMapper> mapper =
>     vtkSmartPointer<vtkPolyDataMapper>::New();
>   mapper->SetInputConnection(sphereSource->GetOutputPort());
>
>   vtkSmartPointer<vtkActor> actor =
>     vtkSmartPointer<vtkActor>::New();
>   actor->SetMapper(mapper);
>
>   vtkSmartPointer<vtkRenderer> renderer =
>     vtkSmartPointer<vtkRenderer>::New();
>   vtkSmartPointer<vtkRenderWindow> renderWindow =
>     vtkSmartPointer<vtkRenderWindow>::New();
>   renderWindow->AddRenderer(renderer);
>   renderWindow->SetAlphaBitPlanes(1); //enable usage of alpha channel
>
>   vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
>     vtkSmartPointer<vtkRenderWindowInteractor>::New();
>   renderWindowInteractor->SetRenderWindow(renderWindow);
>
>   renderer->AddActor(actor);
>   renderer->SetBackground(1,1,1); // Background color white
>
>   renderWindow->Render();
>
>   // Screenshot
>   vtkSmartPointer<vtkWindowToImageFilter> windowToImageFilter =
>     vtkSmartPointer<vtkWindowToImageFilter>::New();
>   windowToImageFilter->SetInput(renderWindow);
>   windowToImageFilter->SetMagnification(1); //set the resolution of the
> output image (3 times the current resolution of vtk render window)
>   windowToImageFilter->SetInputBufferTypeToRGBA(); //also record the alpha
> (transparency) channel
>   windowToImageFilter->Update();
>
>   vtkSmartPointer<vtkPNGWriter> writer =
>     vtkSmartPointer<vtkPNGWriter>::New();
>   writer->SetFileName("screenshot2.png");
>   writer->SetInputConnection(windowToImageFilter->GetOutputPort());
>   writer->Write();
>
>   renderWindow->Render();
>   renderer->ResetCamera();
>   renderWindow->Render();
>   renderWindowInteractor->Start();
>
>   return EXIT_SUCCESS;
> }
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
>



-- 
Unpaid intern in BillsBasement at noware dot com


More information about the vtkusers mailing list