2015-02-06 3 views
0

Как я могу вычислить координаты каждого угла изображения с помощью средства визуализации?Вычислить координаты каждого угла изображения

Пример:

double* pBounds = pImageData->GetBounds(); 
TRACE("%f.%f.%f.%f.%f.%f\n", pBounds[0], pBounds[1], pBounds[2], pBounds[3], pBounds[4], pBounds[5]); 

Результат:

-228.552734.0.000000.-228.552734.0.000000.0.000000.0.000000 

Используя vtkCoordinate? Но как ?

ответ

0

Я думаю, что я сделал это:

double* pBounds = pImageData->GetBounds(); 
vtkCoordinate* pCoordinate = vtkCoordinate::New(); 
pCoordinate->SetValue(0, 0, 0); 
pCoordinate->SetValue(pBounds[0], pBounds[2], 0); 
int* pValueInt = pCoordinate->GetComputedDisplayValue(m_pRenderer); 
TRACE("BottomLeft:x:%d - y:%d\n", pValueInt[0], pValueInt[1]); 
pCoordinate->SetValue(pBounds[1], pBounds[3], 0); 
pValueInt = pCoordinate->GetComputedDisplayValue(m_pRenderer); 
TRACE("TopRight:x:%d - y:%d\n", pValueInt[0], pValueInt[1]); 
pCoordinate->SetValue(pBounds[2], pBounds[4], 0); 
pValueInt = pCoordinate->GetComputedDisplayValue(m_pRenderer); 
TRACE("TopLeft:x:%d - y:%d\n", pValueInt[0], pValueInt[1]); 
pCoordinate->SetValue(pBounds[4], pBounds[2], 0); 
pValueInt = pCoordinate->GetComputedDisplayValue(m_pRenderer); 
TRACE("BottomRight:x:%d - y:%d\n", pValueInt[0], pValueInt[1]); 
pCoordinate->Delete(); 

Интересно, если правильный способ получить углы изображения ...

Смежные вопросы