[vtkusers] vtkWindowToImageFilter - black image

Bill Lorensen bill.lorensen at gmail.com
Wed Oct 8 15:42:41 EDT 2014


Try
  windowToImageFilter->ReadFrontBufferOff();

I need to look into why this is required...


On Wed, Oct 8, 2014 at 3:19 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
> 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



-- 
Unpaid intern in BillsBasement at noware dot com


More information about the vtkusers mailing list