2009-01-09 7 views
2

Quelqu'un peut-il me suggérer en détail comment utiliser la classe QDirectPainter pour peindre un widget directement sur le frame buffer. Je serais plus utile si vous me fournissez un exemple de travail.Peinture via QDirectPainter

Répondre

1

QDirectPainter ne peint pas et ne peut pas peindre quoi que ce soit. Il est là pour fournir un accès au framebuffer, c'est-à-dire via son QDirectPainter::frameBuffer() function. Une fois que vous avez le pointeur le framebuffer, vous devriez pouvoir manipuler les pixels directement.

Une approche qui pourrait fonctionner est de peindre votre widget à un QImage (attention à la profondeur de couleur, l'ordre des octets, le placement des pixels, etc pour correspondre à ceux de votre framebuffer) via le moteur raster. Ceci est facilement possible en ouvrant un QPainter sur une QImage. Une fois le processus de peinture terminé, passez la partie correspondante du tampon d'image dans le framebuffer.

Questions connexes