#include <stdio.h>
#include "def.h"
#include "color_components.h"

Bitmap_8bit * intensityComponent_bmp24bit(Bitmap_24bitRGB *rgbBmp) {
  Bitmap_8bit *intensityBmp = NULL;
  int x, y;
  unsigned char intensity;
  Pixel_24bitRGB rgbPixel;

  intensityBmp = create_bmp8bit(rgbBmp->width, rgbBmp->height);
  if(intensityBmp == NULL) {
    perror("intensityComponent_bmp24bit");
    exit(1);
  }
  
  for( y=0 ; y < rgbBmp->height ; y++ ) {
    for( x=0; x < rgbBmp->width ; x++ ) {
      rgbPixel = getPixel_bmp24bitRGB(rgbBmp, x, y);
      intensity = (unsigned char) (
	(rgbPixel.red + rgbPixel.green + rgbPixel.blue) / 3 );
      setPixel_bmp8bit(intensityBmp, x, y, intensity);
    }
  }
  return intensityBmp;

}
