[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