目录
vtkCaptionWidget:用一个带线框及箭头的文本信息来标注某一对象;
在可视化程序中,经常会对某个对象做一些标注说明;
如,在医学图像诊断中,常常会手动标注出被诊断为肿瘤的区域或者其他病变区域,并用文字进行标注。
vtkCaptionWidget 如下表所示

也可以给它加个中心点;

- #include "vtkSmartPointer.h"
- #include "vtkObjectFactory.h"
- #include "vtkRenderWindow.h"
- #include "vtkGenericRenderWindowInteractor.h"
- #include "vtkRenderer.h"
- #include "vtkActor.h"
-
- #include "vtkDICOMImageReader.h"
- #include "vtkImageViewer2.h"
- #include "vtkInteractorStyleImage.h"
-
- /
- #include
- #include
-
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
-
- #include
- #include
-
-
- #include
- #include
- #include
-
-
- #include
- #include
/// - #include
- #include
- #include
-
- #include
- #include
-
- int main(int argc, char* argv[])
- {
-
- auto reader = vtkSmartPointer
::New(); - reader->SetDirectoryName("D:/dicom");
- reader->Update();
-
- auto imageViewer = vtkSmartPointer
::New(); - imageViewer->SetInputConnection(reader->GetOutputPort());
-
- auto interactor = vtkSmartPointer
::New(); - interactor->SetRenderWindow(imageViewer->GetRenderWindow());
- imageViewer->SetupInteractor(interactor);
- imageViewer->SetSize(400, 400);
- imageViewer->SetColorLevel(211);
- imageViewer->SetColorWindow(2470);
- imageViewer->SetSliceOrientationToXY();
- imageViewer->GetRenderer()->SetBackground(0, 0, 0);
-
-
- vtkSmartPointer
captionWidget = - vtkSmartPointer
::New(); - captionWidget->SetInteractor(interactor);
-
- captionWidget->GetCaptionActor2D();
-
- vtkSmartPointer
captionRepresentation = - vtkSmartPointer
::New(); - captionRepresentation->GetCaptionActor2D()->SetCaption("VTK Caption Test");
- captionRepresentation->SetHandleSize(20);
- //captionRepresentation->GetCaptionActor2D()->SetBorder(false);
- captionRepresentation->GetCaptionActor2D()->GetTextActor()->GetTextProperty()->SetColor(1, 0, 0);
- captionRepresentation->GetCaptionActor2D()->GetTextActor()->GetTextProperty()->SetVerticalJustificationToCentered();
-
- double pos[3] = { 100,100, 10};
- captionRepresentation->SetAnchorPosition(pos);
- //captionWidget->SetCaptionActor2D(captionRepresentation->GetCaptionActor2D());
- captionWidget->SetRepresentation(captionRepresentation);
- captionWidget->On();
-
- imageViewer->Render();
- imageViewer->GetRenderer()->ResetCamera();
- imageViewer->Render();
-
- //memcpy(style->bound, captionWidget->GetRepresentation()->GetBounds(), sizeof(double) * 6);
- interactor->Start();
-
- return EXIT_SUCCESS;
- }