1 /*************************************************
3 * EasyBMP Cross-Platform Windows Bitmap Library *
5 * Author: Paul Macklin *
6 * email: macklin01@users.sourceforge.net *
7 * support: http://easybmp.sourceforge.net *
9 * file: EasyBMP_VariousBMPutilities.h *
10 * date added: 05-02-2005 *
11 * date modified: 12-01-2006 *
14 * License: BSD (revised/modified) *
15 * Copyright: 2005-6 by the EasyBMP Project *
17 * description: Defines BMP class *
19 *************************************************/
21 #ifndef _EasyBMP_BMP_h_
22 #define _EasyBMP_BMP_h_
24 bool SafeFread( char* buffer, int size, int number, FILE* fp );
25 bool EasyBMPcheckDataSize( void );
43 bool Read32bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
44 bool Read24bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
45 bool Read8bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
46 bool Read4bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
47 bool Read1bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
49 bool Write32bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
50 bool Write24bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
51 bool Write8bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
52 bool Write4bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
53 bool Write1bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
55 ebmpBYTE FindClosestColor( RGBApixel& input );
59 int TellBitDepth( void );
60 int TellWidth( void );
61 int TellHeight( void );
62 int TellNumberOfColors( void );
63 void SetDPI( int HorizontalDPI, int VerticalDPI );
64 int TellVerticalDPI( void );
65 int TellHorizontalDPI( void );
70 RGBApixel* operator()(int i,int j);
72 RGBApixel GetPixel( int i, int j ) const;
73 bool SetPixel( int i, int j, RGBApixel NewPixel );
75 bool CreateStandardColorTable( void );
77 bool SetSize( int NewWidth, int NewHeight );
78 bool SetBitDepth( int NewDepth );
79 bool WriteToFile( const char* FileName );
80 bool ReadFromFile( const char* FileName );
82 RGBApixel GetColor( int ColorNumber );
83 bool SetColor( int ColorNumber, RGBApixel NewColor );