Re: Чтение bmp файла
От: korzhik Россия  
Дата: 07.11.05 17:16
Оценка:
Здравствуйте, gradik, Вы писали:

G>Я прочитала файл bmp.


G>
G>BITMAPFILEHEADER fh;
G>BITMAPINFOHEADER ih;
G>RGBQUAD rgbQ;
G>BITMAPINFO info;

G>void main(){
G>  int nread;
G>  int fd;
G>  int bitsize;      /* Size of bitmap */
G>  int infosize;     /* Size of header information */

G>  fd = open("256_1.bmp", O_RDONLY);
G>  nread = read(fd, (void*)&fh, sizeof(BITMAPFILEHEADER));

G>  infosize = fh.bfOffBits - sizeof(BITMAPFILEHEADER);
G>  BITMAPINFO info2;
 
G>  nread = read(fd, (void*)&info2, infosize);

G>  if ((bitsize = info2.bmiHeader.biSizeImage) == 0)
G>    bitsize = (info2.bmiHeader.biWidth *
G>               info2.bmiHeader.biBitCount + 7) / 8 *
G>      abs(info2.bmiHeader.biHeight);
  
G> char bits[bitsize]; 

G>  nread = read(fd, bits, bitsize);
  
G>  for(int i = 0; i < 1; i++)
G>    cout<<&(bits[i])<<endl;
 
G>  int cl = close(fd);
G>}
G>


G>при распечатывании массива bits[0] в консоли получается моя картинка, но какими-то символами.

G>Как можно понять, какой символ соответствует какому цвету и правильно ли я считала файл?
G>Буду очень благодарна, если кто-то сможет мне помочь

Я так понял тебе надо изобразить картинку в текстовом режиме?
Тогда вот эта ссылка должна помочь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.