Bitmap.cc
author viric <viriketo@gmail.com>
Sun, 24 Apr 2011 18:25:11 +0200
changeset 1 a573dab6cb46
parent 0 6b8091ca909a
child 2 5cdb891abc1e
permissions -rw-r--r--
Afegeixo el Makefile.am que falta.

#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();
}