GetPixels () взято из EXR-изображения, загруженного с библиотекой FreeImage (96 бит: 3 x 32-битной плавающей запятой IEEE).Идея состоит в том, чтобы преобразовать данные пикселей в QImage :: Format_RGB888.
Редактировать: я использовал Barcelona Rooftops
Вот что я получил до сих пор:
uint l_h = m_ZImage->GetHeight();
uint l_w = m_ZImage->GetWidth();
float *l_data = (float*)m_ZImage->GetPixels();
m_QImage = QImage(l_w, l_h, QImage::Format_RGB888);
uchar *l_pixels = m_QImage.bits();
for (uint i = 0; i < l_h; ++i)
{
for (uint j = 0; j < l_w; ++j)
{
uint l_id = (i * l_w) + j;
l_pixels[l_id] = uchar(l_data[l_id] * 255); l_id++;
l_pixels[l_id] = uchar(l_data[l_id] * 255); l_id++;
l_pixels[l_id] = uchar(l_data[l_id] * 255);
}
}
Хотя верхняя треть изображения правильная, нижняя 2/3 - черная.Я, должно быть, упускаю что-то очень очевидное, но мне трудно понять это!