[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