[vtkusers] Re: stretch an image to fit in a window
Renaud Isabelle
renauisa at yahoo.fr
Wed May 25 14:59:17 EDT 2005
Hi,
No, I'm not. I'm want to display a 2D image. So I presume that I don't have to use SetZSlice(). If so, why should I?
Here is my code:
viewer->SetInput(image2D);
//display the image in the frame
viewer->SetParentId(this->m_hWnd);
//to fit the image to the render window,
//parallel camera = parallel projection is used
vtkRenderer* ren1 = viewer->GetRenderer();
ren1->GetActiveCamera()->ParallelProjectionOn();
ren1->GetActiveCamera()->SetParallelScale(0.5);
//execute
viewer->Render();
Isabelle
Mathieu Malaterre <mathieu.malaterre at kitware.com> a écrit :
Salut Isabelle,
Are you using vtkImageViewer2 and:
viewer->SetZSlice( slice );
If so make sure you are resetting the camera clipping range:
viewer->GetRenderer()->ResetCameraClippingRange();
Other than that vtkImageViewer and vtkImageViewer2 works exactly the
same way.
HTH
Mathieu
Renaud Isabelle wrote:
> Hi again,
>
> I'm still locked with my problem of stretch my image in a window I passed.
>
> It seems that *vtkImageViewer* doesn't hav any camera instantiated.
> That's why the code:
>
> *vtkRenderer* ren1 = viewer->GetRenderer();
> ren1->GetActiveCamera()->ParallelProjectionOn();
> ren1->GetActiveCamera()->SetParallelScale(2.0);*
> **
> * //execute
> viewer->Render();*
>
> doesn't produce any scaling of the image.
>
> Then, I tried *vtkImageViewer2 *that seems to have a camera. But this
> class seems to hav another problem since the same code doesn't display
> my image at all but a black image instead.
>
> What is the solution? Do I hav to implement my own vtkImageViewer class
> and incorporate a camera? Or does it already exist a solution to use
> vtkImageViewer2?
>
> I'm confused and really don't know what to do. Please help me
>
> Isabelle
>
>
> */Renaud Isabelle /* a écrit :
>
> Hi,
>
> Sorry to bother you again.
>
> I tried what you indicated me to scale my image into a window I passed.
>
> *I have no error at compilation. However, my image is not scaled at
> execution. *
>
> Is there any fault in this code:
>
> viewer->SetInput(reader->GetOutput());
>
> *vtkRenderer* ren1 = viewer->GetRenderer();
> ren1->GetActiveCamera()->ParallelProjectionOn();
> ren1->GetActiveCamera()->SetParallelScale(0.5);*
>
> //display the image in the frame
> viewer->SetParentId(this->m_hWnd);
>
> //execute
> viewer->Render();
>
> thanks in advance,
>
> Isabelle
>
>
> */Goodwin Lawlor /* a écrit:
>
> Hi Isabelle,
>
> Have a look at this example:
>
> http://www.bioengineering-research.com/vtk/vhpreader.tcl
>
> or
>
> http://www.bioengineering-research.com/vtk/BackgroundImage.tcl
>
>
> here's the bit you need: (app is an image; numCol and numRow are
> the image
> dims)
>
> vtkImageActor ia
> ia SetInput [app GetOutput]
> ia InterpolateOff
> vtkRenderer ren1
> ren1 AddActor ia
> ren1 SetBackground 1 1 1
> vtkRenderWindow renWin
> renWin AddRenderer ren1
> renWin SetSize [expr $numCol / 4] [expr $numRow / 4]
> vtkInteractorStyleImage istyle
> vtkRenderWindowInteractor iren
> iren SetRenderWindow renWin
> iren SetInteractorStyle istyle
> [ren1 GetActiveCamera] ParallelProjectionOn
> #fit the image to the render window
> [ren1 GetActiveCamera] SetParallelScale [expr $numRow / 2]
> renWin Render
>
>
> hth
>
> Goodwin
>
>
> "Renaud ! Isabelle" wrote in message
> news:20050525115733.8984.qmail at web26108.mail.ukl.yahoo.com...
> Hi everyone,
>
> I made a 2D image displayed in a window by using
> vtkImageViewer->SetParentId(this->m_hWnd). It works well, but my
> image is
> still displayed with its own dimensions. What I would like to do
> is find a
> way to display it in order to fit the dimensions of my window,
> something
> which could stretch my image.
>
> Could someone suggest me something? I am not sure if it is a VTK
> or ITK
> problem.
>
> By the way, what is the difference between vtkImageViewer and
> vtkImageViewer2?
>
> Thanks in advance,
>
> Isabelle
>
>
> Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage
> pour vos mails,
> photos et vidéos !
> Créez votre Yahoo! Mail
>
>
>
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
>
>
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
> ------------------------------------------------------------------------
> Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour
> vos mails, photos et vidéos !
> Créez votre Yahoo! Mail
>
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
> ------------------------------------------------------------------------
> Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour vos
> mails, photos et vidéos !
> Créez votre Yahoo! Mail
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
---------------------------------
Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour vos mails, photos et vidéos !
Créez votre Yahoo! Mail
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20050525/ae9ccf7c/attachment.htm>
More information about the vtkusers
mailing list