Как записать в (Bitmap?) Буфер изображения для более быстрого отображения GDI +?
Используя C ++ и .net, у меня есть поток данных, который я хочу отобразить в виде прокручиваемого изображения. Каждый раз, когда я получаю новые данные, я хочу добавить их в виде новой строки (128x1 пикселей) и прокрутить предыдущее содержимое в одну сторону.
Моим первым ударом по проблеме было рендеринг всего набора данных каждый раз, когда я получал новую строку. Это работало, но было слишком медленно, поэтому я думаю, что было бы более целесообразно записать в какой-то буфер (возможно, в растровое изображение?). Проблема в том, что я не вижу, как я могу это сделать;Graphic
объекты позволяют вам рисовать довольно счастливо, но я не вижу очевидного способа заставить мой контроль использоватьBitmap
объект как буфер? Точно так же я не вижу способа рисовать на растровом изображении, которое затем могу записать на экран.
Это должно быть возможно, но мой Google-Foo подвел меня до сих пор ...
[Edit1] Просто чтобы уточнить, данные являются спектрограммой. На следующем рисунке показано, чего я пытался достичь:
Данные, которые я вычерчиваю, поступают в виде массивов с плавающей точкой. Нет ничего, что могло бы ограничить то, сколько я получу, поэтому я просто хочу забыть данные, когда они выпадают за пределы графика.
Я в настоящее время наследую отSystem::Windows::Forms::UserControl
, но мог бы переключиться на что-то еще, если есть лучшая альтернатива?