Qt: Bildartefakte, wenn ich ein QImage skaliert auf ein QWidget zeichne



  • Hiho!
    mein Hauptfenster (direkt von QWidget abgeleitet) hat folgende paintEvent-Funktion:

    void MainWindow::paintEvent(QPaintEvent*)
    {
    	QImage sign(50, 50, QImage::Format_ARGB32_Premultiplied);
    	QPainter p(&sign);
    	p.setRenderHint(QPainter::Antialiasing, true);
    	p.fillRect(sign.rect(), QColor(255, 255, 255, 0));
    	p.setBrush(Qt::blue);
    	p.setPen(Qt::NoPen);
    	p.drawEllipse(0, 0, sign.width(), sign.height());
    	p.end();
    
    	QPainter painter(this);
    	painter.drawImage(rect(), sign, sign.rect());
    }
    

    Wenn das Fenster angezeigt wird, seh ich also einen Bildfuellenden, blauen Ball. Sobald ich die Groesse des Fensters mit der Maus aendere, habe ich im linken oberen Eck ein paar Bildartefakte, und ich hab k.A. wo die herkommen. Egal wie ich die Groesse des Bilds nachher aender, die Artefakte bleiben.

    Fenster im Originalzustand: http://img831.imageshack.us/i/83640353.png/
    Fenster nach Groesseaenderung: http://img704.imageshack.us/i/36645902.png/

    Hat wer 'ne Idee, was ich falsch mache?



  • Das sieht mir fast nach einer indexierten Farbtabelle aus 😃 .. die Artefakte. Bringt dich aber vermutlich nicht weiter.


Anmelden zum Antworten