- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
#include <stdio.h> //Нужная библиотека, как обычно;
int main(){ //Типа начало программы;
FILE *in,*out; //Входной и выходной файлы;
unsigned long int h,i; //Высота изображения и итератор цикла;
unsigned char px,s; //Прочитанный пиксель и насчитанный сэмпл аудио;
in=fopen("1.bmp","rb"); //Открываем файл на чтение;
out=fopen("1.pcm","wb"); //Открываем файл на запись;
fseek(in,22,SEEK_SET); //Позиционируемся в то место заголовка, где записана высота изображения
fread(&h,4,1,in); //Считываем высоту изображения (4 байта);
for(i=0;i<h;i++){ //Цикл - пробег по строкам;
fseek(in,0x436+i*256,SEEK_SET); //Позиционируемся на начало i-ой строки
s=0; //Инициализируем счётчик (значение сэмпла);
do{ //Подсчёт нечёрных пикселей;
fread(&px,1,1,in); //Считываем цвет пикселя;
s+=1; //Увеличиваем счётчик на единицу;
}while(px); //И так, пока не встретится чёрный пиксель;
fwrite(&s,1,1,out); //Записываем получившийся результат в выходной файл;
}
fclose(in); //Закрываем входной файл;
fclose(out); //Закрываем выходной файл;
return 0; //Типа конец программы;
}
Комментарии (0) RSS
Добавить комментарий