Almenys faig que compili amb un g++ -I. -lnetpbm -o rektigi *.cc
#include "Bitmap.h"
#include "Errors.h"
#include "Histogram.h"
Bitmap::Bitmap(int w, int h)
{
int i;
height = h;
width = w;
// Assignem memòria
pixels = new char* [height];
for (i=0; i<height; i++)
pixels[i] = new char[width];
// Memòria assignada
//PointsPerLine = new vector<int>
}
Bitmap::~Bitmap()
{
int i;
for (i=0; i<height; i++)
delete[] pixels[i];
delete[] pixels;
}
void Bitmap::setToZero()
{
int i,j;
for (i=0; i<height; i++)
for (j=0; j<width; j++)
pixels[i][j] = 0;
}
int Bitmap::points_per_row(int line)
{
int weight=0;
for(int j=0; j<width; j++)
if (pixels[line][j])
++weight;
return weight;
}
void Bitmap::calcHistogram(Histogram* &myhist)
{
int i,j;
myhist = new Histogram(height);
for(i=0; i<height; i++)
myhist->weights[i] = points_per_row(i);
myhist->calcStatistics();
}