Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

bmp (24 битный) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ создание словарь http://www.cyberforum.ru/cpp-beginners/thread381354.html
добрый день...пожалуйста помогите сдать лабу Программа составления словаря (по файлу или группе файлов составляется словарь всех слов, содержащихся в файле; слова упорядочиваются по алфавиту и по...
C++ Определить, какая буква чаще всего встречается в тексте, находящемся в заданном текстовом файле Определить, какая буква чаще всего встречается в тексте, находящемся в заданном текстовом файле http://www.cyberforum.ru/cpp-beginners/thread381346.html
База знаний по С++ C++
Недавно начал изучать С++ раньше кодил тока на Делфи Подскажите с чего начать можно, какие книжки прикупить, по каким сайтом полазить и хорошую базу знаний (типа "http://www.delphisources.ru" для...
C++ Выдаёт ошибку на компиляции
На этом участке компиляции выдаёт ошибку: /Создание цикла преобразования const int rowe = 9, columne = 4;//Размер преобразованного массива float arraye //Дробный двумерный массив { ...
C++ Помогите сделать программку на С++ http://www.cyberforum.ru/cpp-beginners/thread381307.html
Очень нужна ваша помощь по программированию. Лекции по работе с внешними файлами нам еще не читали, а задание уже дали и в ближайшее время его надо будет сделать.
C++ записать формулу при помощи библиотеки math.h Помогите пожалуйста , для примера записать формулу при помощи math.h желательно обе , можно даже просто строку как она записывается в с++ подробнее

Показать сообщение отдельно
ogcjm124
2 / 2 / 0
Регистрация: 31.07.2011
Сообщений: 143
10.11.2011, 20:53  [ТС]
Так и быть скину код,вижу без этого не как.Ребят гляньте и наведите на мысль но не более)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <new.h>
#include <iostream>
#include <Windows.h>
#include <fstream>
#include <conio.h>
using namespace std;
 
int main ()
{
    BITMAPFILEHEADER bfh;
    BITMAPINFOHEADER bih;
    RGBQUAD *quad;
    RGBQUAD color;
    
    fstream bmp("bmp.bmp",ios::binary|ios::out|ios::in);
    if(!bmp){
        cout << "no open file\n";
        getch();
        exit(1);
    }
    
    bmp.read((char*)&bfh,sizeof(bfh));
    bmp.read((char*)&bih,sizeof(bih));
    bmp.seekg(sizeof(bfh) + bih.biSize, ios::beg); //строка не нужна но на всякий случай пусть будет
    
    int rgbBlue,rgbGreen,rgbRed;
    //почему-то когда пытаюсь записать данные нап прямую в color.rgbBlue и все отс.ошибка???
    cin >> rgbBlue;
    cin >> rgbGreen;
    cin >> rgbRed;
    
    color.rgbBlue=rgbBlue;
    color.rgbGreen=rgbGreen;
    color.rgbRed=rgbRed;
 
    int i;
    i=(bfh.bfSize-sizeof(bfh)-sizeof(bih));
    try{
        quad=new RGBQUAD[i];
        }catch (bad_alloc xa){
        exit(1);
    }
    //тут возникает вопрос недостающие байты до кратности 4 забивать мусором вручную 
    int n;
    for (n=0;n<=i;n++){
        quad[n]=color;
    }
    bmp.write((const char *)quad,i);
    //получатся полосатая картинка
    bmp.close();
    
    getch ();
    return 0;
}
Добавлено через 1 минуту
Да ребят попытался открыть 8 битный файл и оказывается он гораздо больше 24 битного.Это нормально?

Добавлено через 6 минут
Как создать в windows 40 битный bmp
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru