Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • p2303115/l2_cda_moduleimage
  • p2214991/l2_cda_moduleimage
  • p2105807/l2_cda_moduleimage
  • p2410425/l2_cda_moduleimage
  • p1907508/l2_cda_moduleimage
  • p2302466/l2_cda_moduleimage
  • p2313582/l2_cda_moduleimage
  • p2311151/module-image
  • p2408696/l2_cda_moduleimage
  • p2210514/l2_cda_moduleimage
  • p2302557/l2_cda_moduleimage
  • p2306667/module-image
  • p2212257/p-2212257-et-p-2205896
  • p2302395/l2_cda_moduleimage
  • p2301526/projet-module-imagep-2301526
  • p2307151/l2_cda_moduleimage
  • p2307273/l2_cda_moduleimage
  • p2408041/l2_cda_moduleimage
  • p2414859/module-image
  • p2302750/l2_cda_moduleimage
  • Alexandre.Meyer/l2_cda_moduleimage
  • p2205912/l2_cda_moduleimage
  • p2203139/l2_cda_moduleimage
  • p2103034/l2_cda_moduleimage
  • p2209697/l2_cda_moduleimage
  • td-image2/l2_cda_moduleimage
  • p2308246/12308246-12310940-module-image
  • p2203759/l-2-cda-module-image
  • p2205669/l2_cda_moduleimage
  • p2205145/l2_cda_moduleimage
  • p2107491/l2_cda_moduleimage
  • p2308078/l2_cda_moduleimage
  • p2203886/l2_cda_moduleimage
  • p2109987/l2_cda_moduleimage
  • p2208504/l2_cda_moduleimage
  • p2103541/l2_cda_moduleimage
  • eya.mhedhbi/eya-pierre-aurelien
  • p2101616/l2_cda_moduleimage
  • p2108190/l-2-cda-module-image-jm-remy
  • p2312407/module-image
  • p2103134/l2_cda_moduleimage
  • p2210587/l2_cda_moduleimage
  • p2201052/eclat-image-cpp
  • p2104662/l2_cda_moduleimage
  • p2206915/module-image-legroupe
  • p2207715/anes-antoine
  • p2100030/l2_cda_moduleimage
  • p2018792/eclat-image-cpp
  • p2311426/module-image
  • p2312851/fork-module-image
  • p2200473/moduleimage
  • p2208151/l-2-cda-module-image
  • p2202776/eclat-image-cpp
  • p2210033/12210033-revi-mod-image
  • p2006562/script
  • p2303033/imagetest
  • p2301458/l-2-cda-module-image-ghazal
57 results
Show changes
Commits on Source (3)
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
bin/Pixel.o: src/Pixel.cpp src/Pixel.h
g++ -g -Wall -c src/Pixel.cpp
bin/Image.o: src/Image.cpp src/Image.h
g++ -g -Wall -c src/Image.cpp
clean:
rm *.o
veryclean: clean
rm *.out
This diff is collapsed.
#include <iostream>
#include "Image.h"
#include <cassert>
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() {
dimx=0;
dimy=0;
if (tab!=nullptr) {
delete [] tab;
tab=nullptr;}
};
Pixel Image::getPix(int x, int y) {
assert(dimx>=0);
assert(dimy>=0);
return(tab[y*dimx+x]);
};
Pixel Image::getPixc(int x, int y) const {
assert(dimx>=0);
assert(dimy>=0);
Pixel p=tab[y*dimx+x];
return p;
};
void Image::setPix(int x, int y, Pixel couleur) {
assert(dimx>=0);
assert(dimy>=0);
tab[y*dimx+x]=couleur;
};
void Image::dessinerRectangle(int Xmin, int Ymin, int Xmax, int Ymax, Pixel couleur) {
assert(Xmin>=0);
assert(Ymin>=0);
assert(Xmax>=0);
assert(Ymax>=0);
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 (20,20);
Pixel p1;
Pixel p2(10,20,30) ;
Pixel p3 (24, 55, 68);
Pixel p4 (97, 1, 12);
i.setPix(1,1,p3);
i.setPix(1,1,p4);
cout<<int((i.getPix(1,1)).r)<<"/"<<int((i.getPix(1,1)).g)<<"/"<<int((i.getPix(1,1)).b)<<endl;
cout<<int((i.getPixc(1,2)).r)<<"/"<<int((i.getPixc(1,2)).g)<<"/"<<int((i.getPixc(1,2)).b)<<endl;
Pixel c (1,2,3);
i.dessinerRectangle(1,1,1,1,c);
cout<<int((i.getPix(1,1)).r)<<"/"<<int((i.getPix(1,1)).g)<<"/"<<int((i.getPix(1,1)).b)<<endl;
Pixel n (0,0,0);
i.effacer(n);
cout<<int((i.getPix(1,1)).r)<<"/"<<int((i.getPix(1,1)).g)<<"/"<<int((i.getPix(1,1)).b)<<endl;
cout<<int((i.getPix(1,2)).r)<<"/"<<int((i.getPix(1,2)).g)<<"/"<<int((i.getPix(1,2)).b)<<endl;
};
#ifndef _IMAGE_H
#define _IMAGE_H
#include "Pixel.h"
class Image {
private:
int dimx;
int dimy;
Pixel *tab;
public:
Image();
Image(int dimensionX, int dimensionY);
~Image();
Pixel getPix(int x, int y); //renvoie le piexl original, pas une copie
Pixel getPixc(int x, int y) const;//renvoie une copie du pixel
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"
Pixel::Pixel() {
r=0;
g=0;
b=0;
}
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; // les composantes du pixel, unsigned char en C++
// Constructeur par défaut de la classe: initialise le pixel à la couleur noire
Pixel();
// Constructeur de la classe: initialise r,g,b avec les paramètres
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;
}