Я хочу увеличить размер изображения, равный 50%, 100%, 200%, 400% и 800%. Для увеличения изображения DICOM. Для этого я возьму QComboBox внутри моего средства просмотра и его индекс (50 100 200 400 800).
Из выпадающего списка я получаю индекс того, какой процент мне нужно увеличить.
(пример- индекс (0) -50%, индекс (1) -100% .... и т. д.).
Я использую «vtk (getActiveCamera ())» для увеличения размера изображения в соответствии с выбранным индексом.
Я сталкиваюсь с проблемой, что, когда я устанавливаю размер до 200%, он будет установлен правильно. Но когда я увеличу размер до 400%, он будет установлен на 200% + 400% = 600%. Очевидно, я хочу установить размер только 400%.
Вот мой код:
void ViewerManager::vtkZoomCaller(int index)
{
int i;
switch (index)
{
case 0:
//qDebug() << "hello50";
for (i = 0; i < NumberOfViewers; i++) {
viewerDerived[i]->GetRenderer()->GetActiveCamera()->Zoom(0.5);
}
break;
case 1:
//qDebug() << "hello100";
for (i = 0; i < NumberOfViewers; i++) {
viewerDerived[i]->GetRenderer()->GetActiveCamera()->Zoom(1);
}
break;
case 2:
//qDebug() << "hello200";
for (i = 0; i < NumberOfViewers; i++) {
viewerDerived[i]->GetRenderer()->GetActiveCamera()->Zoom(2);
}
break;
case 3:
//qDebug() << "hello400";
for (i = 0; i < NumberOfViewers; i++) {
viewerDerived[i]->GetRenderer()->GetActiveCamera()->Zoom(4);
}
break;
case 4:
//qDebug() << "hello800";
for (i = 0; i < NumberOfViewers; i++) {
viewerDerived[i]->GetRenderer()->GetActiveCamera()->Zoom(8);
}
break;
default:
break;
}
}
Когда я хочу выбрать 100% после 200% и выше любого процента, это не уменьшит размер.
Любая помощь очень полезна для меня.
Заранее спасибо