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

При работе с 24-разрядными изображениями происходят искажения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Типы данных http://www.cyberforum.ru/cpp-beginners/thread709281.html
3. Разработать битовое поле, описывающее состояния элементов прибора. Ввести с консоли число в 16-ричной системе счисления, преобразовать его в битовое поле за счёт использования объединения. Вывести...
C++ Копирование директории Как реализовать полное копирование директории на freeBSD (Не используя библиотек Microsoft)? Какой наиболее оптимальный алгоритм для этого (при котором будут копироваться файлы как можно быстрее)? http://www.cyberforum.ru/cpp-beginners/thread709276.html
Система уравнений C++
Помогите розвязать систему уравнений
C++ Типы данных, определяемые пользователем
3. Разработать битовое поле, описывающее состояния элементов прибора. Ввести с консоли число в 16-ричной системе счисления, преобразовать его в битовое поле за счёт использования объединения. Вывести...
C++ Диспетчер автоматического резервирования информации http://www.cyberforum.ru/cpp-beginners/thread709256.html
Доброго времени суток! Прошу помощи в разработке диспетчера автоматического резервирования информации с серверов ftp и почты. Помогите с чего начать какой либо информацией, исходниками, учебниками....
C++ Объединить массив байт в целое число в с++ Привет! Нужно сдвинуть биты в каждом байте циклически вправо на случайное число N из диапазона 0..7 Разбить целое число на байты не составило проблем, также как и произвести циклический сдвиг.... подробнее

Показать сообщение отдельно
TheSance
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 5
26.11.2012, 13:04  [ТС]
вот так работает правильно:

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
#include "stdafx.h"
 #include <stdio.h>
 #include <io.h>
 #include <fcntl.h>
 #include <sys\stat.h>
 #include <windows.h>
 #include <errno.h>
 
 int main(int argc, char* argv[])
 {
 FILE* f, *f1;
 BITMAPFILEHEADER bfh;
 BITMAPINFOHEADER bih;
 DWORD sz;
 BYTE* rgb;
 
 f=fopen("r1.bmp", "rb");
 fread(&bfh, sizeof(BITMAPFILEHEADER), 1, f);
 fread(&bih, sizeof(BITMAPINFOHEADER), 1, f);
 sz = bih.biWidth * bih.biHeight * 3;
 rgb = new BYTE[sz];
 fread(rgb, sz, 1, f);
 
 f1 = fopen("r3.bmp", "wb");
 fwrite(&bfh, sizeof(BITMAPFILEHEADER), 1, f1);
 fwrite(&bih, sizeof(BITMAPINFOHEADER), 1, f1);
 fwrite(rgb, sz, 1, f1);
 fclose(f);
 fclose(f);
 return 0;
 }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru