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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.78
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
#1

Картинка в виде двумерного массива пикселей - C++

09.08.2012, 17:32. Просмотров 4015. Ответов 23
Метки нет (Все метки)

Можно ли, засунув картинку в проект, получить её массив пикселей? Есть ли для этого какая-либо функция?
Всё, что мне хочется, это взять картинку, формат которой предусматривает запись информации о пикселях последовательностями в 3 байта (без промежуточной информации) и засунуть туда лишний байт >:- E *хочу инфернальные картинки!!1*

Добавлено через 3 часа 25 минут
Есть идеи? ; (
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2012, 17:32     Картинка в виде двумерного массива пикселей
Посмотрите здесь:
Вывод на экран содержиоме vector в виде двумерного массива C++
C++ Создать программу, которая реализует журнал с оценками в виде двумерного массива
Вывести на экран в виде матрицы все элементы заданного двумерного массива C++
Как правильно записать в виде функции выделение памяти для двумерного массива и ее освобождение C++
Найти минимальные элементы в каждом столбце произвольного двумерного массива и записать их в виде одномерного C++
C++ Как сделать, чтобы при вводе двумерного массива он сразу отображался в виде таблицы?
Данные о ценах в М магазинах для N видов товара хранятся в виде двумерного массива. Сформировать таблицу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vampir64
6 / 6 / 0
Регистрация: 01.08.2012
Сообщений: 70
10.08.2012, 20:11     Картинка в виде двумерного массива пикселей #16
Что такое анархия пикселей? Вы хотите исковеркать формат файла и получить на выходе что-то неудобоваримое, которое скорее всего просмотровщик картинок даже не переварит? Я сильно сомневаюсь, что результат будет интересен.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
10.08.2012, 20:21  [ТС]     Картинка в виде двумерного массива пикселей #17
vampir64, как я уже писал выше, мне не нужно его просматривать "просмотрщиком". Достаточно вывести попиксельно.
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
10.08.2012, 20:41     Картинка в виде двумерного массива пикселей #18
Цитата Сообщение от vampir64 Посмотреть сообщение
Что такое анархия пикселей? Вы хотите исковеркать формат файла и получить на выходе что-то неудобоваримое, которое скорее всего просмотровщик картинок даже не переварит? Я сильно сомневаюсь, что результат будет интересен.
Почему же не будет? Можно записать обратно в файл также как и считали.
vampir64
6 / 6 / 0
Регистрация: 01.08.2012
Сообщений: 70
10.08.2012, 20:55     Картинка в виде двумерного массива пикселей #19
cossack5, я не понимаю затею. Если уж играть с файлами по правилам, то не лучше ли обеспечить себе комфорт, используя готовое апи? Я бы, например, для такого рода экспериментов и вовсе использовал скриптовый язык python, на котором просто кодить и легко ставить эксперименты, под который есть куча библиотек, как правило очень простых и удобных в использовании. Хотя если вы просто развлекаетесь самодельным парсингом bmp-шек, то другое дело
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
10.08.2012, 21:01     Картинка в виде двумерного массива пикселей #20
Цитата Сообщение от vampir64 Посмотреть сообщение
cossack5, я не понимаю затею. Если уж играть с файлами по правилам, то не лучше ли обеспечить себе комфорт, используя готовое апи? Я бы, например, для такого рода экспериментов и вовсе использовал скриптовый язык python, на котором просто кодить и легко ставить эксперименты, под который есть куча библиотек, как правило очень простых и удобных в использовании. Хотя если вы просто развлекаетесь самодельным парсингом bmp-шек, то другое дело
Я для этих целей использую GFL SDK - самая мощная библиотека для чтения изображений. Но она сравнительно немаленькая, и не везде хочется возиться с подобными, если нужен только .bmp.
vampir64
6 / 6 / 0
Регистрация: 01.08.2012
Сообщений: 70
10.08.2012, 21:09     Картинка в виде двумерного массива пикселей #21
А я когда-то делал корректный парсер BMP. Уж толком не помню ничего, но кажется, что иногда в конце строк там положено быть некоторому заполнителю, т.к. количество пикселей в строке должно быть кратным... не помню чему. Написал весьма туманно но возможно, это чем-то поможет.
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
10.08.2012, 21:13     Картинка в виде двумерного массива пикселей #22
vampir64, я вас понял. Разумеется, это учитывается.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
11.08.2012, 07:19  [ТС]     Картинка в виде двумерного массива пикселей #23
Так и не решен вопрос о том, почему считывание из двоичного файла при SetPixel создает такие фокусы с флагом
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2012, 10:15     Картинка в виде двумерного массива пикселей
Еще ссылки по теме:
Как правильно посмотреть, что находится в массиве пикселей в понятном виде? C++
Ввести элементы двумерного массива с клавы С++.Нужно вывести его на экран в виде таблицы, в конце каждой строки надо вывести самый большой элемент C++
Функции двумерного массива. Транспонировать матрицу через ввод вывод функции двумерного массива. C++
Из массива пикселей сформировать bmp изображение C++
Оформить обработку одномерного и двумерного массивов в виде функции C++

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

Или воспользуйтесь поиском по форуму:
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
11.08.2012, 10:15     Картинка в виде двумерного массива пикселей #24
Цитата Сообщение от nexen Посмотреть сообщение
Так и не решен вопрос о том, почему считывание из двоичного файла при SetPixel создает такие фокусы с флагом
Да чего там решать? Сказали уже, из-за многократного вызова srand() это. Функция srand() задаёт начальное состояние генератора псевдослучайных чисел. Инициализация производится от текущего времени, а время меняется дискретно, один раз за несколько (десятков) миллисекунд. Так что для расположенных рядом пикселей генератор выдаёт одно и то же число, так как состояние генератора постоянно восстанавливается.
Функция srand() должна вызываться только один раз, где-нибудь в самом начале программы.
Yandex
Объявления
11.08.2012, 10:15     Картинка в виде двумерного массива пикселей
Ответ Создать тему
Опции темы

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