comparison Gui/bitmap/bitmap.c @ 6054:35689e1e6745

bigendian fix by Colin Leroy <colin@colino.net>
author arpi
date Sun, 12 May 2002 01:09:10 +0000
parents 3473ca9ef158
children 26cb8736927b
comparison
equal deleted inserted replaced
6053:759c5a3314a2 6054:35689e1e6745
28 return 1; 28 return 1;
29 } 29 }
30 memset( bf->Image,0,bf->ImageSize ); 30 memset( bf->Image,0,bf->ImageSize );
31 for ( c=0,i=0;i < (int)(bf->Width * bf->Height * 3); ) 31 for ( c=0,i=0;i < (int)(bf->Width * bf->Height * 3); )
32 { 32 {
33 bf->Image[c++]=tmpImage[i++]; 33 #ifndef WORDS_BIGENDIAN
34 bf->Image[c++]=tmpImage[i++]; 34 bf->Image[c++]=tmpImage[i++]; //red
35 bf->Image[c++]=tmpImage[i++]; c++; 35 bf->Image[c++]=tmpImage[i++]; //green
36 bf->Image[c++]=tmpImage[i++]; c++; //blue
37 #else
38 unsigned char t=tmpImage[i++];
39 bf->Image[c++]=tmpImage[i++]; //green
40 bf->Image[c++]=t; c++; //red
41 bf->Image[c++]=tmpImage[i++]; //blue
42 #endif
36 } 43 }
37 free( tmpImage ); 44 free( tmpImage );
38 } 45 }
39 return 0; 46 return 0;
40 } 47 }
53 } 60 }
54 61
55 void Normalize( txSample * bf ) 62 void Normalize( txSample * bf )
56 { 63 {
57 int i; 64 int i;
65 #ifndef WORDS_BIGENDIAN
58 for ( i=0;i < (int)bf->ImageSize;i+=4 ) bf->Image[i+3]=0; 66 for ( i=0;i < (int)bf->ImageSize;i+=4 ) bf->Image[i+3]=0;
67 #else
68 for ( i=0;i < (int)bf->ImageSize;i+=4 ) bf->Image[i]=0;
69 #endif
59 } 70 }
60 71
61 unsigned char tmp[512]; 72 unsigned char tmp[512];
62 73
63 unsigned char * fExist( unsigned char * fname ) 74 unsigned char * fExist( unsigned char * fname )