Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
grigoryfedorov
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 1
#1

Из массива пикселей сформировать bmp изображение - C++

04.04.2016, 08:30. Просмотров 291. Ответов 2
Метки нет (Все метки)

Добрый день.
Имеется массив пикселей char*, из которого необходимо сформировать bmp изображение.

В массиве пиксел представлен 12-ти разрядным числом, кот. сдвинутое влево на 4, т.е. 4 младших бита равны 0.
Чтобы сформировать 8 битный bmp необходимо брать старший байт из массива.

Мне подсказали, что нужно привести char* к short* и применить макрос HIBYTE.

С языком знаком плохо, поэтому возникли трудности. Помогите написать пару строк кода. Буду благодарен!
http://www.cyberforum.ru/cpp-beginners/thread887512.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2016, 08:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Из массива пикселей сформировать bmp изображение (C++):

Матрица пикселей в BMP
Программа: #include <iostream> #include <fstream> #include <cstdio>...

Работа с bmp файлом. Считывание значение пикселей в массив
Здравствуйте. Необходимо написать код который считывает из bmp картинки...

Открыть файл формата BMP и получить значение его пикселей в виде матрицы
Дорогие программисты прошу вас помочь в следующем вопросе: мне нужно открыть в...

Ввод рисунка из файла *.bmp. Подсчет общего числа пикселей в строке,столбце матрицы рисунка...
На языке СИ++ написать программу,Выполняющую следующие операции: Ввод...

1 битное bmp изображение
Добрый вечер. Необходимо написать программу на си++ которая создает файл bmp....

2
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,184
Завершенные тесты: 1
04.04.2016, 08:35 #2
Лучший ответ Сообщение было отмечено grigoryfedorov как решение

Решение

C++
1
2
3
4
5
unsigned short* pxls;
....
unsigned char* bmp=new char[ImageSize];
for(unsigned i=0;i<ImageSize;i++)
    bmp[i]=(pxls[i]>>8);
0
Serg_o_Grey
76 / 76 / 38
Регистрация: 29.03.2016
Сообщений: 350
04.04.2016, 08:36 #3
char к short привести просто:
C++
1
2
char ch = 200;
(short)ch;
и так для каждого элемента массива
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2016, 08:36
Привет! Вот еще темы с решениями:

Считать BMP изображение в динамическую память
Нужно считать ВМР изображение в массив в динамической памяти используя fstream.

Увеличить BMP изображение в два раза
Дано задание увеличить 8-битное BMP изображение в два раза. Функцию реализовать...

Не записывает в файл (увеличить bmp изображение в 2 раза)
Дано задание увеличить bmp изображение в 2 раза. Написал программу, которая по...

Загрузить изображение формата bmp и работать с ним побитово
Мне нужно загрузить изображение формата bmp, чтоб потом работать с его битами....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru