Ponownie zaimplementowano QGraphicsView, aby uzyskać powiększenie sceny o zdarzenie kółka myszy. Scena zawiera kilka obiektów: QGraphicsPixmapItem. Zdarzenie na kółkach wywołuje QGraphicsView :: scale (qreal sx, qreal sy)Antyaliasing nie działa w QGraphicsView
Wszystko działa idealnie, ale renderowanie. Gdy pomniejszam (scena staje się mniejsza), pojawia się aliasing. Próbowałem ustawienie podpowiedzi czynią następująco w re-wdrożone QGraphicsView konstruktora:
ImageViewer::ImageViewer(QWidget * parent) :
QGraphicsView(parent)
{
setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::HighQualityAntialiasing);
}
wciąż widzę te artefakty. Jak mogę się tego pozbyć?
Czy możesz opublikować zrzut ekranu z tego, co się dzieje? Czy ustawiasz jakąkolwiek strategię buforowania na przedmiotach? – peppe
Dziękujemy @peppe! Nie ustawiam niczego w buforowaniu, więc domyślam się, że to jest domyślne. Oto przykład, jak to wygląda [wcześniej] (https://lh6.googleusercontent.com/-e2pH06jhy94/Ue09l8A1SWI/AAAAAAAAY08/YGa-wj9ollY/w958-h599-no/Fullscreen+capture+7222013+100003+AM.jpg) (Stosunek pikseli 1: 1) i [po] (https://lh4.googleusercontent.com/-PZJVX0jl6yw/Ue09mo_Iu2I/AAAAAAAAY1E/nMf28uA9MlE/w958-h599-no/Fullscreen+capture+7222013+100007+AM.jpg) (stosunek pikseli mniejszy niż 1: 1) pomniejszanie. Zobaczysz pewne aliasing w koncentrycznych kręgach. – Algo