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

Класс по обработке bmp-файлов - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Ikasu
Сообщений: n/a
25.03.2009, 19:43     Класс по обработке bmp-файлов #1
добрый вечер!

проблема в чтении структур в файл. когда писала программу по обработке файла не в классе, никаких проблем не было. теперь тот же код использую в функции класса, и вот здесь, например

ifstream inBMP(name,ios::in| ios::binary);
inBMP.read((char*)&bmfh,sizeof(BITMAPFILEHEADER));
inBMP.read((char*)&bmih,sizeof(BITMAPINFOHEADER));
cout << bmih.biHeight << " " << bmih.biWidth << endl;

выводятся ширина и высота неимоверных размеров %)
и с записью, похоже тоже косяки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2009, 19:43     Класс по обработке bmp-файлов
Посмотрите здесь:

Считываение 16-битных bmp файлов Visual C++
Разработка и отладка алгоритмов и программ по созданию и обработке файлов C++
Как в Visual C++ организовать вывод bmp файлов Visual C++
Visual C++ Как в Visual C++ организовать вывод bmp файлов
C++ Создание bmp файлов на С++
Visual C++ Разработка и отладка алгоритмов и программ с применением по созданию и обработке файлов
Visual C++ Программа для чтения и просмотра BMP-файлов
Считывание и запись .bmp файлов C++
C++ Builder Программа магазин-склад. Нужно исправить ошибки по обработке файлов
Поиск всех .bmp файлов в системе C++ WinAPI
Программа с изменением BMP файлов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deicider
 Аватар для Deicider
96 / 52 / 1
Регистрация: 18.03.2009
Сообщений: 273
26.03.2009, 09:33     Класс по обработке bmp-файлов #2
Ikasu, Приведите пожалуйста побольше кода )) проблема скорее всего содержится выше этого куска.
Ikasu
Сообщений: n/a
26.03.2009, 16:49     Класс по обработке bmp-файлов #3
#include <iostream.h>
#include <fstream.h>


typedef unsigned long DWORD;
typedef unsigned int WORD;
typedef signed long LONG;
typedef unsigned char BYTE;

struct BITMAPFILEHEADER
{
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;

};

struct BITMAPINFOHEADER
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
};

struct RGBTriple
{
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
};


struct RGBQuad
{
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
};



class BMP
{
public:
BITMAPFILEHEADER bmfh;
BITMAPINFOHEADER bmih;
RGBTriple rgbt;
RGBQuad rgbq;
char *name;

BMP(char *name1)
{name = new char;
strcpy(name, name1);
cout << bmih.biHeight << " " << bmih.biWidth << endl;
ifstream inBMP(name,ios::in| ios::binary);
inBMP.read((char*)&bmfh,sizeof(BITMAPFILEHEADER));
inBMP.read((char*)&bmih,sizeof(BITMAPINFOHEADER));
cout << bmih.biHeight << " " << bmih.biWidth << endl;
cout << "Constructor has called" << endl;
inBMP.close();
}

~BMP() {cout << "Destructor has called" << endl;};
void change_brightness();
void invert();

};
Yandex
Объявления
26.03.2009, 16:49     Класс по обработке bmp-файлов
Ответ Создать тему
Опции темы

Текущее время: 07:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru