Skip to content
Snippets Groups Projects
Commit d7a03ec7 authored by ABBAS's avatar ABBAS
Browse files

bs<nsj

parent 476a0a38
No related branches found
No related tags found
No related merge requests found
Makefile 0 → 100644
all: bin/test
bin/test: bin/mainTest.o bin/Pixel.o bin/Image.o
g++ -g bin/mainTest.o bin/Pixel.o bin/Image.o -o bin/test
bin/mainTest.o: src/mainTest.cpp src/Pixel.h
g++ -g -Wall -c src/mainTest.cpp -o bin/mainTest.o
bin/Pixel.o: src/Pixel.cpp src/Pixel.h
g++ -g -Wall -c src/Pixel.cpp -o bin/Pixel.o
bin/Image.o: src/Image.cpp src/Image.h
g++ -g -Wall -c src/Image.cpp -o bin/Image.o
clean:
rm *.o
veryclean: clean
rm *.out
#include "Image.h"
#include <iostream>
using namespace std;
Image::Image()
{
dimx=0;
dimy=0;
}
Image::Image(int dimensionx,int dimensiony)
{
Pixel noir(0,0,0);
dimx=dimensionx;
dimy=dimensiony;
tab=new Pixel[dimx*dimy];
for(int i=0;i<dimx*dimy;i++)
{
tab[i]=noir;
}
}
Image::~Image()
{
if (tab != nullptr) {
delete [] tab;
tab = nullptr;
}
dimx=0;
dimy=0;
}
Pixel Image::getPix(int x,int y)
{
return tab[y*dimx+x];
}
Pixel Image::getPix2(int x,int y)const
{Pixel i=tab[y*dimx+x];
return i;
}
void Image::setPix(int x,int y,Pixel couleur)
{
tab[y*dimx+x]=couleur;
}
void Image::dessinerRectangle(int xmin,int ymin,int xmax,int ymax,Pixel couleur)
{
for(int i=xmin;i<xmax;i++)
{
for(int j=ymin;j<ymax;j++)
{
setPix(i,j,couleur);
}
}
}
void Image::effacer(Pixel couleur)
{
dessinerRectangle(0,0,dimx,dimy,couleur);
}
void Image::testRegression()
{
Image i(5,5);
if((int)i.getPix(4,4).r == 0){
cout<<"teste 1 :1"<<endl;
}
else{cout<<"teste 1 :0"<<endl;}
Pixel p(5,42,36);
i.dessinerRectangle(0,0,2,2,p);
cout<<"teste 2 :"<<((int)i.getPix(1,1).g==42)<<endl;
Pixel d(3,3,3);
i.effacer(d);
cout<<"teste 3 :"<<((int)i.getPix(1,1).r==3)<<endl;
cout<<"teste 4 :"<<((int)i.getPix(1,4).b==3)<<endl;
}
#ifndef _Image_H
#define _Image_H
#include "Pixel.h"
class Image
{private :
int dimx,dimy;
Pixel *tab=new Pixel;
public :
Image();
Image(int dimensionx,int dimensiony);
~Image();
Pixel getPix(int x,int y);
Pixel getPix2(int x,int y)const;
void setPix(int x,int y,Pixel couleur);
void dessinerRectangle(int xmin,int ymin,int xmax,int ymax,Pixel couleur);
void effacer(Pixel couleur);
static void testRegression();
};
#endif
#include "Pixel.h"
#include <iostream>
Pixel::Pixel()
{
r=0;g=0;b=0;
}
Pixel::~Pixel()
{
}
Pixel::Pixel(unsigned char nr,unsigned char ng,unsigned char nb)
{
r=nr;
g=ng;
b=nb;
}
#ifndef _PIXEL_H
#define _PIXEL_H
class Pixel
{ public:
unsigned char r,g,b;
Pixel();
~Pixel();
Pixel(unsigned char nr,unsigned char ng,unsigned char nb);
};
#endif
#include <iostream>
#include "Pixel.h"
#include "Image.h"
using namespace std;
int main()
{
Image::testRegression();
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment