Russian Qt Forum
Ноябрь 25, 2024, 10:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: uchar* => QImage ?  (Прочитано 3160 раз)
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);
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.161 секунд. Запросов: 20.