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

написать код для создания бмп файла заданного размера си++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В строке удалить введённое буквосочетание http://www.cyberforum.ru/cpp-beginners/thread897174.html
В строке удалить введённое буквосочетание.
C++ Среди N введенных чисел найти количество соседей разных знаков Задача №1 "Среди N введенных чисел найти количество соседей разных знаков" ____________ Надеюсь на вашу помощь http://www.cyberforum.ru/cpp-beginners/thread897167.html
C++ вычислить У
вычислить У
Вычислить значение выражения C++
4*a-ln(b-1)/ c/b+18*a
C++ Считывание с файла http://www.cyberforum.ru/cpp-beginners/thread897148.html
Задание 1: Считать с файла и найти количество слов из 4 и менее букв. (test.txt по умолчанию в папке с программой) Вопрос: Почему он считывает с файла, выводит на экран текст, а во втором цикле while не считает количество слов. А если удалю первый цикл то нормально считает количество слов. Как быть? Задание 2: Оформить программу в виде функций законченные последовательности действий. Все...
C++ Тройки пифогора (Тройки Пифагора) Прямоугольный треугольник может иметь все стороны, выраженные целыми числами. Множество троек целых значений сторон прямоугольного треугольника называется тройками Пифагора. Эти три стороны должны удовлетворять соотношению, по которому сумма квадратов двух сторон (катетов) равна квадрату третьей стороны (гипотенузы). Найдите все тройки Пифагора, в которых и катеты, и... подробнее

Показать сообщение отдельно
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.06.2013, 11:43     написать код для создания бмп файла заданного размера си++
Иван7, создаете структуры файла, массив пиксельных структур rgba (rgb , в зависимости от цветности 24 бита или 32), записываете в файл

Добавлено через 14 минут
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
55
56
57
58
#pragma pack(push, 1)
typedef struct tagBITMAPFILEHEADER{
    unsigned short  bfType;
    unsigned long   bfSize;
    unsigned short  bfReserved1;
    unsigned short  bfReserved2;
    unsigned long   bfOffBits;
} BITMAPFILEHEADER;
#pragma pack(pop)
 
#pragma pack(push,2)
typedef struct tagBITMAPINFOHEADER{
    unsigned int    biSize;
    long            biWidth;
    long            biHeight;
    unsigned short  biPlanes;
    unsigned short  biBitCount;
    unsigned int    biCompression;
    unsigned int    biSizeImage;
    long            biXPelsPerMeter;
    long            biYPelsPerMeter;
    unsigned int    biClrUsed;
    unsigned int    biClrImportant;
} BITMAPINFOHEADER;
#pragma pack(pop)
 
 
typedef struct {
        unsigned char b;
        unsigned char g;
        unsigned char r;
} PIXEL;
 
int main()
{
    BITMAPFILEHEADER    headfirst;
    BITMAPINFOHEADER    headsecond;
    PIXEL               pixel;
 
    FILE *fou = fopen("picture.bmp","wb+");
 
    headsecond.biWidth = 64;
    headsecond.biHeight = 64;
    // далее заполняете структурный сами
 
    fwrite( &headfirst, sizeof(BITMAPFILEHEADER), 1, fou );
    fwrite( &headsecond, sizeof(BITMAPINFOHEADER), 1, fou );
 
 
        for (i = 0; i < headsecond.biHeight; i +=1)
        {
                        for (j = 0; j < headsecond.biWidth; j += 1)
                        {
                                        pixel.r = 255;
                                        fwrite( &pixel.r, 1, 1, fou );
                                        // также для pixel.g и pixel.b
                        }
        }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru