IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

[2D] 2 images : un polygone bleu et des briques


Sujet :

Contribuez

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [2D] 2 images : un polygone bleu et des briques
    Bonjour ou bonsoir,

    Voici deux programmes compilables, écrits à 100% en qt c++, ces programmes ont été créés sous cinnamon linux.

    Image 1 : Un Polygone en dégradé de bleu.

    outils.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <QPointF>
     
    class Outils 
    {    public :
     
        QPointF droitepoint(QPointF p1,QPointF p2,qreal xv)
        {    qreal x1 = p1.x() ; qreal y1 = p1.y() ;
              qreal x2 = p2.x() ; qreal y2 = p2.y() ;
            qreal a = 0 ;
            qreal b = 0 ;
            a = (y1 - y2)/(x1 - x2) ;
            b = (x1 * y2 - x2 * y1)/(x1 - x2) ;
        //----------------------------------------------
            qreal yv = 0 ;
            yv = a * xv + b ;
            QPointF droite(xv,yv) ;
        return droite ;
        }
    };
    polygondegraD.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    #include <QApplication>
    #include <QPixmap>
    #include <QPainter>
    #include <QLabel>
    #include <QPolygon>
    #include <QColor>
    #include <QPen>
    //include <QPointF>
    #include "outils.h"
     
    int main(int argc,char ** argv)
    {    QApplication app(argc,argv) ;
        QPolygon monpolyg ;
            monpolyg.setPoints(8,100,100, 150,50, 250,50, 300,100, 300,200, 250,250, 150,250, 100,200) ;
        QPointF p1(100,100) ;
        QPointF p2(150,50) ;
        QPointF p3(250,50) ;
        QPointF p4(300,100) ;
        QPointF p5(300,200) ;
        QPointF p6(250,250) ;
        QPointF p7(150,250) ;
        QPointF p8(100,200) ;
        QColor bleu(0,0,0) ;
        qreal vari = 0 ;
        qreal vari2 = 0 ;
    //    qreal x1 = 0 ;
    //    qreal y1 = 0 ;
    //    qreal x2 = 0 ;
    //    qreal y2 = 0 ;
        Outils obj1 ;
        QPointF xy(0,0) ;
        QPixmap dels(400,300) ;
            dels.fill(Qt::black) ;
        QPainter baton(&dels) ;
            baton.drawPolygon(monpolyg) ;
        baton.end() ;
        QPen epais ;
            epais.setWidth(2) ;
        QPainter triangl1(&dels) ;
    // a(100,100) , b(150,50)
        for (vari = 100 ; vari <= 150 ; vari+= 0.197) 
        {    xy = obj1.droitepoint(p1,p2,vari) ;
            vari2++ ;
            bleu.setRgb(0,0,vari2) ;
            epais.setColor(bleu) ;
            triangl1.setPen(epais) ;    
            triangl1.drawLine(xy.x(),xy.y(),200,150) ;
        }
    //a(150,50) , b(250,50)
        vari2 = 0 ;
        for (vari = 150;vari <= 250 ; vari+= 0.395)
        {    vari2++ ;
            bleu.setRgb(0,0,(255-vari2)) ;
            epais.setColor(bleu) ;
            triangl1.setPen(epais) ;    
            triangl1.drawLine(vari,50,200,150) ;
        }
    //a(250,50) , b(300,100)
        vari2 = 0 ;
        for (vari = 250;vari <= 300 ; vari+= 0.197)
        {    xy = obj1.droitepoint(p3,p4,vari) ;
            vari2++ ;
            bleu.setRgb(0,0,(vari2)) ;
            epais.setColor(bleu) ;
            triangl1.setPen(epais) ;    
            triangl1.drawLine(xy.x(),xy.y(),200,150) ;
        }
    //a(300,100) , b(300,200)
        vari2 = 0 ;
        for (vari = 100;vari <= 200 ; vari+= 0.395)
        {    vari2++ ;
            bleu.setRgb(0,0,(255-vari2)) ;
            epais.setColor(bleu) ;
            triangl1.setPen(epais) ;    
            triangl1.drawLine(300,vari,200,150) ;
        }
    //a(300,200) , b(250,250)
        vari2 = 0 ;
        for (vari = 250;vari <= 300 ; vari+= 0.197)
        {    xy = obj1.droitepoint(p6,p5,vari) ;
            vari2++ ;
            bleu.setRgb(0,0,(255-vari2)) ;
            epais.setColor(bleu) ;
            triangl1.setPen(epais) ;    
            triangl1.drawLine(xy.x(),xy.y(),200,150) ;
        }
    //a(250,250) , b(150,300)
        vari2 = 0 ;
        for (vari = 248;vari >= 150 ; vari-= 0.395)
        {    vari2++ ;
            bleu.setRgb(0,0,(255-vari2)) ;
            epais.setColor(bleu) ;
            triangl1.setPen(epais) ;    
            triangl1.drawLine(vari,250,200,150) ;
        }
    //a(150,250) , b(100,200)
        vari2 = 0 ;
        for (vari = 100;vari <= 150 ; vari+= 0.197)
        {    xy = obj1.droitepoint(p8,p7,vari) ;
            vari2++ ;
            bleu.setRgb(0,0,(255-vari2)) ;
            epais.setColor(bleu) ;
            triangl1.setPen(epais) ;    
            triangl1.drawLine(xy.x(),xy.y(),200,150) ;
        }
    //a(100,200) , b(100,100)
        vari2 = 0 ;
        for (vari = 200;vari >= 100 ; vari-= 0.395)
        {    vari2++ ;
            bleu.setRgb(0,0,(255-vari2)) ;
            epais.setColor(bleu) ;
            triangl1.setPen(epais) ;    
            triangl1.drawLine(100,vari,200,150) ;
        }
        triangl1.end() ;
     
        QLabel * fenetre = new QLabel ;
            fenetre->setPixmap(dels) ;
            fenetre->show() ;        
    app.exec() ;
    }
    Dernière modification par Invité ; 09/03/2016 à 09h20.

Discussions similaires

  1. Comment supprimer le cadre bleu autour des image
    Par seanbean dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 15/04/2011, 10h59
  2. Mes images sont decalees a cause des tableaux
    Par mjs21 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 02/07/2008, 13h31
  3. Réponses: 1
    Dernier message: 15/06/2008, 12h32
  4. écran bleu à cause des jeux
    Par bbmery dans le forum Windows XP
    Réponses: 9
    Dernier message: 06/03/2008, 23h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo