Skip to content
Snippets Groups Projects
Image.h 1.33 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jean-Marc's avatar
    Jean-Marc committed
    #ifndef _IMAGE_H
    #define _IMAGE_H
    
    Jean-Marc's avatar
    Jean-Marc committed
    #include "Pixel.h"
    
    Jean-Marc's avatar
    Jean-Marc committed
    #include <iostream>
    
    using namespace std;
    
    class Image
    {
    private:
    
    Jean-Marc's avatar
    Jean-Marc committed
        unsigned dimx,dimy;
    
    Jean-Marc's avatar
    Jean-Marc committed
        Pixel * tab;
        
    
        public:
        Image();
    
    Jean-Marc's avatar
    q  
    Jean-Marc committed
        Image(unsigned int x, unsigned int y);
    
    Jean-Marc's avatar
    Jean-Marc committed
        ~Image();
    
    Jean-Marc's avatar
    q  
    Jean-Marc committed
        Pixel & getPix(unsigned int x, unsigned int y) const;
        Pixel getPix2(unsigned int x, unsigned int y) const;
        void setPix(unsigned int x, unsigned int y, Pixel couleur);
        void dessinerRectangle(unsigned int Xmin, unsigned int Ymin, unsigned int Xmax, unsigned int Ymax, Pixel couleur);
    
    Jean-Marc's avatar
    Jean-Marc committed
        void effacer (Pixel couleur);
    
    Jean-Marc's avatar
    Jean-Marc committed
        Pixel * getTab()const;
    
    Jean-Marc's avatar
    Jean-Marc committed
    
        static void testRegression()
        {
            Pixel p;
            Pixel p2(10,20,30);    
    
            Image im(50,50);
            p = im.getPix2(20,26);
            cout<<p.r<<endl;
    
    Jean-Marc's avatar
    Jean-Marc committed
            cout<<endl;
    
    Jean-Marc's avatar
    Jean-Marc committed
    
            im.setPix(27,12,p2);
            Pixel p3 = im.getPix2(27,12);
    
    Jean-Marc's avatar
    Jean-Marc committed
            cout<<p3.r<<","<<p3.g<<","<<p3.b<<endl;
            cout<<endl;
    
    Jean-Marc's avatar
    Jean-Marc committed
    
    
    Jean-Marc's avatar
    Jean-Marc committed
            im.dessinerRectangle(10,10,30,30,Pixel(78,36,108));
    
            Pixel p4 = im.getPix2(15,20);
            cout<<p4.r<<","<<p4.g<<","<<p4.b<<endl;
    
            cout<<endl;
    
            im.effacer(Pixel(0,0,0));
            p4 = im.getPix2(18,25);
            cout<<p4.r<<","<<p4.g<<","<<p4.b<<endl;
    
    Jean-Marc's avatar
    Jean-Marc committed
    
        };
    
    Jean-Marc's avatar
    Jean-Marc committed
    
    
    Jean-Marc's avatar
    Jean-Marc committed
      
    
    
    Jean-Marc's avatar
    Jean-Marc committed
        void sauver(const string &filename) const;
        void ouvrir(const string &filename);
        void afficherConsole();
    
    Jean-Marc's avatar
    Jean-Marc committed
    };
    
    
    Jean-Marc's avatar
    Jean-Marc committed
    #endif
    
    
    Jean-Marc's avatar
    Jean-Marc committed