reference/ocr-simple/bitmap.cc
author viric@llimona
Thu, 18 May 2006 23:12:51 +0200
changeset 0 6b8091ca909a
permissions -rw-r--r--
Init from working directory of svn repository.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     1
#include "bitmap.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     2
#include "stdio.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     3
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     4
Bitmap::Bitmap(char* b, int h, int w)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     5
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     6
  bits = b;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     7
  height = h;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     8
  width = w;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     9
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    10
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    11
Bitmap::Bitmap(char* filename)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    12
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    13
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    14
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    15
void Bitmap::WriteToFile(char* filename)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    16
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    17
  FILE* fileout;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    18
  if(! (fileout = fopen(filename, "w+")))
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    19
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    20
      printf("Error while trying to write bitmap to %s\n", filename);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    21
      exit(1);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    22
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    23
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    24
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    25
      fprintf(fileout, "#define %s_width %d\n", filename, width);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    26
      fprintf(fileout, "#define %s_height %d\n", filename, height);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    27
      fprintf(fileout, "static char %s_bits[] = {\n", filename);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    28
      for(int row_counter = 0; row_counter < height; row_counter++)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    29
	{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    30
	  for(int column_counter = 0; (8 * column_counter) < width; column_counter++)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    31
	    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    32
	      fprintf(fileout, "%c,", bits[row_counter * width + column_counter]);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    33
	      if((column_counter % 16) == 0)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    34
		fprintf(fileout, "\n");   /* put a newline once in a while */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    35
	    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    36
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    37
      fprintf(fileout, "};\n");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    38
      fclose(fileout);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    39
    } 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    40
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    41
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    42
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    43
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    44
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    45
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    46
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    47