Skip to content
Snippets Groups Projects
Image.h 1.33 KiB
Newer Older
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