QGraphicsView을 다시 구현하여 마우스 휠 이벤트로 장면을 확대 시켰습니다. 장면에 여러 QGraphicsPixmapItem이 포함되어 있습니다. 휠 이벤트 호출 QGraphicsView :: scale (qreal sx, qreal sy)QGraphicsView에서 안티 앨리어싱이 작동하지 않습니다.
모든 것이 완벽하게 렌더링되지만 작동합니다. 축소하면 (장면이 작아짐) 앨리어싱이 나타납니다. 나는 다시 구현 를 QGraphicsView 생성자에 다음과 같은 렌더링 힌트를 설정하려 :
ImageViewer::ImageViewer(QWidget * parent) :
QGraphicsView(parent)
{
setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::HighQualityAntialiasing);
}
난 아직도 이러한 아티팩트를 참조하십시오. 이걸 어떻게 없앨 수 있습니까?
무슨 일이 진행되고 있는지 스크린 샷을 게시 할 수 있습니까? 항목에 대한 캐싱 전략을 설정하고 있습니까? – peppe
@peppe 감사합니다! 캐싱에 대해서는 아무것도 설정하지 않으므로 기본값이라고 생각합니다. [앞에] 보이는 예입니다 (https://lh6.googleusercontent.com/-e2pH06jhy94/Ue09l8A1SWI/AAAAAAAAY08/YGa-wj9ollY/w958-h599-no/Fullscreen+capture+7222013+100003+AM.jpg).) (1 : 1 픽셀 비율) 및 [후] (https://lh4.googleusercontent.com/-PZJVX0jl6yw/Ue09mo_Iu2I/AAAAAAAAY1E/nMf28uA9MlE/w958-h599-no/Fullscreen+capture+7222013+100007+AM.jpg) (1 : 1 미만의 픽셀 비율) 축소. 동심원에 앨리어싱이 표시됩니다. – Algo