La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Graphisme en 2D avec QT4.

Présentations similaires


Présentation au sujet: "Graphisme en 2D avec QT4."— Transcription de la présentation:

1 Graphisme en 2D avec QT4

2 Graphisme en 2D avec QT4 Quelques notions Les classes qui vont bien
Des animations ?

3 Graphisme en 2D avec QT4 Quelques notions Les classes qui vont bien
Des animations ?

4 Quelques notions La scène C'est le théâtre des opérations.
C'est dans une scène que tous les objets seront réellement présents. Une scène peut contenir des formes et du texte.

5 Quelques notions La vue C'est la visualisation de la scène.
Pour une même scène, on peut avoir différentes vues.

6 Quelques notions Les formes Les différentes formes de base sont :
le point la ligne le rectangle le polygone l'ellipse

7 Quelques notions Les effets
Chaque forme peut avoir une couleur, une épaisseur, ou des effets divers. Idem pour le texte (avec des polices de caractères spécifiques en plus).

8 Graphisme en 2D avec QT4 Quelques notions Les classes qui vont bien
Des animations ?

9 Les classes qui vont bien
La scène QGraphicsScene abscisses (x) ordonnées (y)

10 Les classes qui vont bien
La vue QGraphicsView

11 Les classes qui vont bien
Les formes QPointF(x,y) QLineF(x1,y1,x2,y2) ou QLineF(p1,p2) ou QGraphicsLineItem QRectF(xGauche,yHaut,largeur,hauteur) ; ou QGraphicsRectItem QPolygon ou QGraphicsPolygonItem QGraphicsEllipseItem

12 Les classes qui vont bien
Les effets (uniquement applicables sur les objets de type QGraphics####Item) QColor QBrush QPen Applicable avec des méthodes setBrush et setPen

13 Les classes qui vont bien
Les effets QColor (int r, int g, int b, int a) r : [0..255] -> rouge g : [0..255] -> vert b : [0..255] -> bleu a : [0..255] -> transparence

14 Les classes qui vont bien
Les effets QBrush(QColor c, BrushStyle s); QConicalGradient QRadialGradient QLinearGradient QPixmap

15 Les classes qui vont bien
Les effets QPen(QBrush b, qreal largeur, PenStyle ps, PenCapStyle cap,PenJoinStyle join)

16 Les classes qui vont bien
dimensionnement de la scene Création d'une vue Création d'une scene Exemple QGraphicsScene *maScene= new QGraphicsScene(); QGraphicsView *maVue=new QGraphicsView(); maScene->setSceneRect(0, 0, 400, 300) ; QPoint p1(10,10); QPolygon poly ; poly<<p1 ; poly<<QPoint(30,10)<<QPoint(60,50); maScene->addPolygon(poly) ; maVue->setGeometry(10,10,400,300) ; maVue->setScene(maScene) ; maVue->show(); Ajout d'un point au polygone Ajout d'un polygone à la scene dimensionnement de la vue association de la scene à la vue affichage de la scene

17 Les classes qui vont bien
QPoint p1(10,10); QPolygon poly1 ; QGraphicsLineItem *ligne ; QGraphicsPolygonItem *polyI ; QGraphicsTextItem *monTexte; poly1<<p1 ; ligne=new QGraphicsLineItem(0,0,400,300); polyI=new QGraphicsPolygonItem(poly1); monTexte=new QGraphicsTextItem("bonjour"); monTexte->setPos(50,100) ; maScene->addItem(monTexte); maScene->addItem(polyI) ; maScene->addItem(ligne) ; maVue->setScene(maScene) ; maVue->show(); ajouter un objet à la scene positionner le texte en (50,100)

18 Graphisme en 2D avec QT4 Quelques notions Les classes qui vont bien
Des animations ?

19 Des animations ? Déplacer des objets : Avant l'affichage de la vue:
translate(offsetX, offsetY) ; Après l'affichage de la vue : moveBy(offsetX, offsetY) ; Déplacer l'objet de offsetX pixels sur l'axe des abscisses et de offsetY pixels sur l'axe des ordonnées

20 Des animations ? Les objets qui ne sont pas
déplacer le polygone de +20 sur x et de +33 sur y QPoint p1(10,10); QPolygon poly ; QGraphicsLineItem *ligne ; QGraphicsPolygonItem *polyI ; poly<<p1 ; poly.translate(20,33); ligne=new QGraphicsLineItem(0,0,400,300); polyI=new QGraphicsPolygonItem(poly1); maScene->addItem(polyI) ; maScene->addItem(ligne) ; ligne->translate(-5,12); maVue->setScene(maScene) ; maVue->show(); déplacer la ligne de -5 sur x et de +12 sur y Les objets qui ne sont pas de type "item" ne peuvent plus être déplacés une fois qu'ils ont été ajoutés à la scène.

21 faire faire des aller-retour
Des animations ? ligne=new QGraphicsLineItem(0,0,400,300); polyI=new QGraphicsPolygonItem(poly1); maScene->addItem(polyI) ; maScene->addItem(ligne) ; maVue->setScene(maScene) ; maVue->show() ; int pasx=1 ; int x=0; while(1){ ligne->moveBy(pasx,0) ; x+=pasx; if (x>=400) pasx=-1 ; if (x<=0) pasx=1; } faire faire des aller-retour à l'objet ligne sur l'axe des abscisses temps d'exécution : < 1 milliseconde

22 Des animations ? Il est possible de réaliser des animations chronométrées: QTimeLine QGraphicsItemAnimation

23 Conclusion Association vue <-> scène Notion d'objets d'une scène
Possibilité d'ajouter des images


Télécharger ppt "Graphisme en 2D avec QT4."

Présentations similaires


Annonces Google