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

Работа с BMP форматом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите с блок-схемой и алгоритмом http://www.cyberforum.ru/cpp/thread14930.html
Есть только листинг программы(((((((((( lines.cpp: #include "windows.h" #include "resource.h" #include "random.h" #include <list> #include <queue> #include <stack>
C++ Найти числа из массива кратных 3 Я написал прогу "найти числа из массива кратных 3" #include <stdio.h><math.h> main() { int a,i,s; printf("\n 3adaite 4isla: \n"); for(i=0;i<10;i++) scanf("%d",&a); for(i=0;i<10;i++){ http://www.cyberforum.ru/cpp/thread14921.html
C++ Builder или Visual C++? C++
Подскажыте, с чего лучше изучать визуальное програмирование: с++Builder или visual c++??
Существуют ли методы побитового сравнения строк? C++
Существуют ли методы побитового сравнения строк? Нужно искать и сравнивать комбинацию 126 бит. Комбинация известна. А сравнивать надо с одержимым файла. Как сделать это?
C++ Реализовать АТД Очередь с помощью массива http://www.cyberforum.ru/cpp/thread14784.html
Всем привет! у меня есть некоторые зарисовки, но никак не могу привести программу к концу. Задание: Реализовать АТД Очередь с помощью массива; Используя эту реализацию, написать функцию, которая за один проход по заданному целочисленному массиву выводит на печать его элементы в следующем порядке: сначала все четные, потом – нечетные.:umnik: кусочек программы который у меня есть:...
C++ Удаление динамической памяти В книгах по С++ я читал про утечку памяти. Я решил создать программу, в которой будет выделаться 1 Гб памяти и не удаляться. Будучи запущенной много раз, она так и не зависла. Для большей уверенности я поставил галочку release и запускал её не через F5, а через exe-файл. Получается, что в C++ есть сборщик мусора? P.S. Пользуюсь Visual Studio 2008. подробнее

Показать сообщение отдельно
Аццкий_Progremmer
2 / 2 / 0
Регистрация: 30.10.2008
Сообщений: 14

Работа с BMP форматом - C++

30.10.2008, 23:33. Просмотров 5014. Ответов 1
Метки (Все метки)

Всем доброго времени суток
Проблема такая:
начал разбираться со струтурой BMP формата
пока описал только структуру BMP и считал заголовок BMP и его ИНФО
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
typedef struct {
 WORD type;
 DWORD size;
 WORD r1,r2;
 DWORD OffBits;
} BMPHEADER;
 
typedef struct {
 DWORD size;
 LONG width;
 LONG height;
 WORD Planes;
 WORD BitCount;
 DWORD compression;
 DWORD SizeImage;
 LONG XPelPerMetr;
 LONG YPelPerMetr;
 DWORD ClrUsed;
 DWORD ClrImportant;
} BMPINFO;
 
typedef struct {
 byte blue;
 byte green;
 byte red;
 byte reserved;
} BMPBODY;
 
MPBODY **load_bmp_to_array(char *filename) {
 HANDLE BMPFile=CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
                         FILE_ATTRIBUTE_NORMAL, NULL); ;
 BMPHEADER BMPHeader;
 BMPINFO BMPInfo;
 unsigned long filesize;
 unsigned long filebuf;
 DWORD rw;
 int width,height;
 int blockread;
 boolean state=true;
 
 if (BMPFile) {
    if (!ReadFile(BMPFile,&BMPHeader,sizeof(BMPHeader),&rw,NULL)) state=false;
    if (!ReadFile(BMPFile,&BMPInfo,sizeof(BMPInfo),&rw,NULL)) state=false;
    if (state) {
      width=BMPInfo.width;
      height=BMPInfo.height;
 
    }
    blockread=1;//ТУТ ТОЧКА ПРЕРЫВАНИЯ!!!
 }
 
}
почему если в отладчике проссматривать значения то они не совпадают с реальными которые должны быть.
например картинка размером 640*512
при этом
BMPInfo.width=33554432 //ширина в пикселях
BMPInfo.height=65536//высота в пикселях
BMPInfo.SizeImage==15//размер изображения
в общем почти во в сех полях BMPInfo не те значения которые должны быть

BMPHeader вроде как считался нормально
по крайней мере BMPHeader.type=19778=4D42 как и должно быть
подскажите плиз в чем может быть проблема
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru