2013-07-18 10 views
5

में काम नहीं कर रहा है मैंने माउस व्हील इवेंट के साथ दृश्य ज़ूम करने के लिए QGraphicsView को फिर से कार्यान्वित किया। दृश्य में कई QGraphicsPixmapItem शामिल हैं। व्हील इवेंट QGraphicsView :: स्केल (qreal sx, qreal sy)एंटीअलाइजिंग QGraphicsView

सबकुछ पूरी तरह से काम करता है लेकिन प्रतिपादन करता है। जैसे ही मैं ज़ूम आउट करता हूं (दृश्य छोटा हो जाता है), एलियासिंग दिखाई देता है। मैं फिर से लागू किया QGraphicsView निर्माता में निम्नलिखित के रूप में संकेत प्रस्तुत करना स्थापित करने की कोशिश की:

ImageViewer::ImageViewer(QWidget * parent) : 
    QGraphicsView(parent) 
{ 
    setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::HighQualityAntialiasing); 
} 

मैं अभी भी इन कलाकृतियों को देखते हैं। मुझे इससे कैसे छुटकारा मिल सकता है ?

+0

क्या आप क्या चल रहे हैं इसका एक स्क्रीनशॉट पोस्ट कर सकते हैं? क्या आप वस्तुओं पर कोई कैशिंग रणनीति निर्धारित कर रहे हैं? – peppe

+0

धन्यवाद @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

उत्तर

3

कृपया this question के लिए मेरी टिप्पणियां देखें।

मूल रूप से आपको पर QGraphicsItem पर कॉल करना होगा, आप एंटी-एलियासिंग पर आवेदन करना चाहते हैं।

दृश्य पर setRenderHints पर कॉल करना मेरे लिए काम नहीं करता था, या तो।

+0

तो एंटीअलाइज्ड पृष्ठभूमि रखने का कोई तरीका नहीं है? संपादित करें: एनएम मेरे कोड में एक त्रुटि थी। – Timmmm

संबंधित मुद्दे