Попиксельное заполнение буфера |
Здравствуйте, гость ( Вход | Регистрация )
Попиксельное заполнение буфера |
loh |
21.12.2011, 16:37
Сообщение
#1
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет!
Задача такая, у меня есть датчик, типа линейного сканера, от него приходят данные представляющие собой двух байтные числа которые после некоторой математической обработки связанной с операциями сложения умножения деления вычитается превращаются либо в цвет точки. соответственно один пакет этих чисел это одна колонка пикселей на экране. Каждая новая колонка приходит на место старой, а вся картинка смещается на один пиксел в сторону. Проблема в том что частота прихода этих пакетов высокая - например 200 пакетов в секунду, Так вот! как организовать буфер для сохранения исходных значений с датчика, буфер с обработанными значениями для вывода на экран, как синхронизировать вывод с приёмом, что бы картинка смешалась плавно, без рывков? И как сделать быструю обработку исходных значений для преобразования их в цвет уже в офлайн режиме, когда данные берутся не с датчика, а с буфера исходных данных? :о |
|
|
loh |
26.12.2011, 23:30
Сообщение
#2
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
тоесть например
QImage img; QGLPixelBuffer* pb = new QGLPixelBuffer(1000,1000); QPainter p(pb); for (int i = 0; i<1000; i ++) for (int j = 0; j<1000; j ++) { p->setPen(buffer[i+1000*j]); p->drawPoint(i,j); } img = pb.toImage(); будет быстрее чем QImage img; for (int i = 0; i<1000; i ++) for (int j = 0; j<1000; j ++) { ((QRgb*)img.bits())[i+1000j] = buffer[i+1000*j]; } ? |
|
|
Текстовая версия | Сейчас: 23.11.2024, 12:05 |