Mam pewien problem - napisałem sobie prostą funkcję, ktora ma za zadanie "przesunąc" mój obrazek o okreslone wspolrzedne. Wszystko dziala, bo kiedy dam na poczatku przesunObrazek(x,y), i potem rysuj(0,0), to rysuje mi nie w pkt (0,0), tylko od razu w pkt (x,y). Jednak jak to zrobic, abym mial te 2 obrazki jednoczesnie na jednym obrazku? Tzn. obrazek do przesuniecia i od razu obrazek przesuniety. Wkleje kod, moze ktos bedzie w stanie pomoc :)

#include <QWidget>
#include <QPainter>
#include <QPaintEvent>
#include <QApplication>

class rysownik : public QWidget
{

    QImage obrazek;

protected:
        void paintEvent(QPaintEvent*);

        void przesunObrazek(QImage &we, QImage &wy, int tx, int ty);

public:
    rysownik(QWidget* parent=0);
};

void rysownik::przesunObrazek(QImage &we, QImage &wy, int tx, int ty){
        we = QImage(":/images/obrazek");
        for(int y=0; y<we.height(); y++){
            for(int x=0; x<we.width(); x++){
                wy.setPixel(QPoint(x+tx,y+ty),we.pixel(QPoint(x,y)));
            }
        }
}

void rysownik::paintEvent(QPaintEvent* e)
{
    //tlo
    obrazek = QImage(500,500,QImage::Format_RGB32);
    QPainter paint(this);
    paint.drawImage(0,0,obrazek);

    QImage a = QImage(500,500,QImage::Format_RGB32);
    QImage b = QImage(500,500,QImage::Format_RGB32);

    przesunObrazek(a,b,50,50);
    paint.drawImage(0,0,b);
    przesunObrazek(a,b,200,200);
    paint.drawImage(0,0,b);

    update();
    this->setFixedSize(500,500);
}

rysownik::rysownik(QWidget* parent) : QWidget(parent)
{
}

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    rysownik iw;
    iw.show();
    return a.exec();
}