ElderOrb
Гость
|
|
« : Август 25, 2006, 13:55 » |
|
В одной библиотеке машинного зрения есть класс CProImage, который содержит в себе данные в формате uchar* и который как ни странно проблематично вывести на экран. Поэтому мне бы хотелось на данных этого класса построить QImage и дальше работать с ним. Делал я примерно следующее:
image = QImage((uchar*)cproImage->GetData(),cproImage->GetWidth(), cproImage->GetHeight(),QImage::Format_Mono);
.. и т.д с другими форматами. В тех случаях когда не выскакивало эксепшена отображалось одно и то же и совершенно не то что мне надо. К примеру исходная картинка была с чёрной вертикальной полоской слева, а у меня отображалась "каша" с белой горизонтальной полоской сверху.
Помогите понять в чём дело! В примерах к демке всё делается на mfc и winapi, а я ни с первым ни со вторым связываться желания особого не имею.
Всё, разобрался. Немного ассистанта внутривенно + иногда включать мозг и всё ок!.
p.s. Нижеизложенное строчки заменяют приличный кусок довольно мясного когда на mfc + winapi.
QModelAreaDlg::QModelAreaDlg() { this->image = QImage((uchar*)image->GetData(),image>GetWidth(), image->GetHeight(),QImage::Format_Indexed8); this->image.setNumColors(256); for(int i = 0; i<255; ++i) this->image.setColor(i, QColor(i, i, i, 255).rgb()); }
void QModelAreaDlg::paintEvent(QPaintEvent* event) { QPainter p(this); p.drawImage(0, 0, image); }
|