Рисование через QDirectPainter - PullRequest
2 голосов
/ 09 января 2009

Может кто-нибудь подробно подсказать, как использовать класс QDirectPainter для рисования виджета прямо в буфере кадров. Я был бы более полезным, если бы вы предоставили мне рабочий пример.

1 Ответ

1 голос
/ 08 марта 2009

QDirectPainter не рисует и не может ничего рисовать. Он предназначен для предоставления доступа к кадровому буферу, т. Е. Через его функцию QDirectPainter :: frameBuffer () . Если у вас есть указатель кадрового буфера, вы сможете напрямую управлять пикселями.

Подход, который может сработать, состоит в том, чтобы закрасить ваш виджет в QImage (внимательно следите за глубиной цвета, порядком байтов, размещением пикселей и т. Д., Чтобы они соответствовали таковым вашего кадрового буфера) через растровый движок. Это легко сделать, открыв QPainter на QImage. После завершения процесса рисования переместите соответствующую часть буфера изображения в кадровый буфер.

...