Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
JJJJ
0 / 0 / 2
Регистрация: 17.12.2013
Сообщений: 11
1

bmp 8

17.12.2013, 23:48. Просмотров 586. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста, нужно реализовать алгоритм Линде-Бузо-Грея для BMP файла. Проблема появляется при записи файла в формат bmp 8 - windows не может вывести мою картинку, в то время как открывая ее в фотошопе все вполне понятно.
Вот собственно функция(y - палитра, x - значения растра):
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
int write_bmp8(char *name,int H,int W,char**y,char**x){
    ofstream ofsb(name, ios::binary);
    bfh->bfOffBits=54 + 1024;   
    cout<<bfh->bfOffBits<<endl;
    bfh->bfSize = bfh->bfOffBits + sizeof(char)*W*H+H*((sizeof(char)*W) % 4);
    cout<<bfh->bfSize<<endl;
     bih->biSize = sizeof(bih);
     bih->biBitCount = 8;
     bih->biClrUsed = 0;                         
     bih->biCompression = 0;
     bih->biHeight = H;
     bih->biWidth = W;
     bih->biPlanes = 1;
    ofsb.write(bf,sizeof(BITMAPFILEHEADER));
    ofsb.write(bi,sizeof(BITMAPINFOHEADER));
    for(int i=0;i<256;i++){
        for(int j=0;j<3;j++)
            ofsb.write((char*)&y[i][j],1);
        ofsb.write((char*)&y[i][4],1);
    }
 
    for (int i = 0; i < bih->biHeight; ++i){
        for (int j = 0; j < bih->biWidth ; j++){
            ofsb.write((char*)&x[i][j],1);
        }
        ofsb.write((char*)&x[i][4],(3*W)%4);
    }
    return 0;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 23:48
Ответы с готовыми решениями:

Работа с BMP-файлами (класс "8 битное BMP изображение)
Написать класс &quot;8 битное BMP изображение&quot;.Класс должен содержать 3...

bmp в C++
Помогите пожалуйста написать программу на C++ которая уменьшает разрешение bmp...

bmp (24 битный)
Ребят всем привет я бы выложил тут код,ну на самом деле с моей точки зрения это...

Считывание bmp
Здравствуйте, мне надо считать изображение, содержащая только 2х цветную...

Стеганография в BMP
Проект выполняющий метод lsb. В коде ошибки. Не могу понять как исправить....

1
vitecd
18 / 1 / 0
Регистрация: 26.09.2013
Сообщений: 59
18.12.2013, 03:17 2
1. в цикле удобнее будет читаться обращение к переменным H, W и памяти меньше займет.
2. палитра точно правильная?
3. приложите файлик, который получается, точно смогу сказать, где собака.

PS рекомендую biClrUsed указать 256 и biClrImportant аналогично. Почему? спецификацию почитайте.
PPS проверьте значение bfh->bfSize
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 03:17

Wav в bmp
Подскажите, пожалуйста, как разложить побитово wav-file и сложить его в bmp?...

[C++] 24-битные BMP
Программа не хочет кодировать 24-битные BMP. Под кодированием я понимаю...

Открытие .bmp
Как открыть .bmp в VS 2012?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru