Seite 1 von 1

Animiertes Bild - Wie am besten?

Verfasst: 7. April 2008 17:38
von PeterLustig
Moin. :)

Ich habe ein Bild, welches 6 gleich große Teilbilder enhält (kann auch mehr sein). Diese möchte ich nun gerne als Animation darstellen, sodass diese 6 Bilder sich immer wieder abwechseln im Sekundentakt. Wie würde ich so etwas lösen?
Ich habe mir überlegt das ich das gesamte Bild einlade und dann die 6 Bilder ausschneide. Dann speicher ich die 6 Bilder in QList<QPixmap>. Dann erstelle ich ein QGraphicsPixmapItem und zeige dort das erste Bild an. Über einen Timer ersetze ich das Bild dann mit setPixmap. Wäre das gut so, oder gibt es evtl eine bessere Möglichkeit?

Verfasst: 7. April 2008 18:41
von C167
schau dir mal QGraphicsItemAnimation an, vllt hilft das

Verfasst: 7. April 2008 22:28
von PeterLustig
Ich wüsste jetzt nicht wie man das von mir gewollte damit machen würde.. Könntest du mir vllt. Erklären wie du das damit machen würdest?

Verfasst: 7. April 2008 22:38
von Volker
Per OpenGL das gesamte Bild als Textur hochladen und nur noch die Texturkoordinaten anpassen.

Verfasst: 8. April 2008 09:08
von upsala
QGraphicsItemAnimation ist Unsinn..

@PeterLustig mach das, was du selbst vorgeschlagen hast

Verfasst: 8. April 2008 09:22
von franzf
Für was hat der QPainter ein
void QPainter::drawPixmap ( const QRectF & target, const QPixmap & pixmap, const QRectF & source )
?
Da brauchts kein opengl.
Erstell dir ein eigenes Widget + SLOT. den Slot connectest du auf einen QTimer::timeout(). in dem Slot zählst du Counter hoch, welche dir zeigen, welches Teilbild des QPixmap du zeichnen sollst, und mach ein update().
Im paintEvent() errechnest du dann das source-Rect, welches du aus deinem Pixmap ausschneiden willst und zeichnest es auf das Widget.

So würds ich machen :)

Grüße
Franz