2009-01-09 3 views
2

누구나 QDirectPainter 클래스를 사용하여 프레임 버퍼에 직접 위젯을 페인트하는 방법을 자세히 설명해 줄 수 있습니까? 당신이 저에게 실제 사례를 제공해 주면 더 도움이 될 것입니다.QDirectPainter를 통한 페인팅

답변

1

QDirectPainter는 아무 것도 페인트하지 않으며 페인트 할 수 없습니다. 프레임 버퍼에 대한 액세스를 제공하기 위해 즉, QDirectPainter::frameBuffer() function을 통해 제공됩니다. 포인터에 프레임 버퍼가 있으면 픽셀을 직접 조작 할 수 있어야합니다.

작동 방법은 래스터 엔진을 통해 위젯을 QImage (색 깊이, 바이트 순서, 픽셀 배치 등에주의하여 프레임 버퍼의 것과 일치하도록 페인트)에 적용하는 것입니다. 이것은 QImage에서 QPainter를 열면 쉽게 가능합니다. 페인팅 프로세스가 완료된 후 이미지 버퍼의 해당 부분을 프레임 버퍼에 blit합니다.

관련 문제