Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/29: Рейтинг темы: голосов - 29, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 12.11.2014
Сообщений: 2

Работа с графическими файлами С++

12.11.2014, 21:54. Показов 6101. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На данный момент стоит задача реализации открытия графического файла с подальшим его использованием(вообщем работа с фотофильтрами). Но на данный момент, к сожалению я остановился на том, что не могу найти литературу на "открытие" и т.д. Так же еще прошу помощи, может кто работал с таким - где это нужно использовать? как реализовывать? Я работал на консоле немног и в винапи под литературой С.Прата / Шилд прогр. под W95.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.11.2014, 21:54
Ответы с готовыми решениями:

Не могу найти материала для работы с графическими файлами.
Мне давно не дает уснуть проблема: хочу написать прогу которая считает с диска рисунок и вставить его в консоль. В инете смотрел вроде...

Работа с графическими файлами.
Вопрос: Есть ли готовый и бесплатный компонент для работы с графическими файлами? Нужный функционал: Уменьшение фотографии в...

Работа с графическими окнами и файлами
Здравствуйте, уважаемые форумчане! Написал небольшую программку с двумя графическими окнами (формами). Первая форма содержит всякие...

9
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
12.11.2014, 22:00
Если в Win Api то смотрите материалы по BITMAP и DIB.
Изображение (битовая карта) там прикрепляется к контексту в памяти,
а потом копируется в окно функцией BitBlt
0
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
12.11.2014, 22:46
Цитата Сообщение от default51400 Посмотреть сообщение
не могу найти литературу на "открытие"
И не найдете. Вы думаете, что могут существовать книги типа "Как открыть файл PNG на C++"?)
Для этих целей существует множество библиотек, тот же DevIL или CImg.
В первом случае нужно уметь подключать к проекту сторонние библиотеки (этому в любом случае придется научиться, если программирование не просто 'для галочки'), во втором же достаточно подключить один заголовочный файл, насколько я помню. Там, к слову сказать, есть и некоторые графические фильтры.
Я сам использую corona, но именно что для открытия/сохранения - после загрузки перегоняю в удобный мне формат и работаю с ним.

Добавлено через 2 минуты
Цитата Сообщение от default51400 Посмотреть сообщение
Так же еще прошу помощи, может кто работал с таким - где это нужно использовать? как реализовывать?
С каким - таким? Что использовать? Или вы спрашиваете, где нужно использовать 'фотофильтры'?)
Как реализовывать - находите формулы, и, используя их, 'реализовываете'. Все просто.
0
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
13.11.2014, 00:39
default51400, Вам нужно научится излагать свои мысли, освоить правила синтаксиса и пунктуации.
Иначе Вас просто не поймут и не услышат.
0
 Аватар для Alexandr_1982
191 / 90 / 33
Регистрация: 04.11.2013
Сообщений: 473
Записей в блоге: 4
13.11.2014, 07:46
Используются функции
fopen для открытия файла
fread для чтения структуры из файла
fwrite для записи структуры в файл
fseek для перехода по файлу
fclose для закрытия файла

Графический файл начинается с заголовка, который является структурой. Считывание структуры заголовка производится fread. Затем считываются данные, которые представляют собой изображение. В bmp файлах структурой является пиксель, представляемый в формате RGB 24 бит (красный, зеленый, синий). Кроме этого данные могут представляться в формате RGBA 32бита (красный, зеленый, синий, прозрачность).

Структура описывается ключевым словом struct. Пустая структура struct name {}; Структура представляющая пиксель struct rgb { unsigned char a, b,c; }; Считывание структур из bmp производится функцией fread сразу в один экземпляр структуры без синтаксического разбора, без посимвольного считывания. У структуры фиксированный размер, кратный 8 битам. Фильтр применяется к обработке пикселей в структуре.

Битовые потоки считываются и обрабатываются побитово. Изображение может представляться в виде битовых потоков, например при кодировании видео в формате mpeg / dvd. Кино представляет собой последовательность изображений, отдельное изображение называется кадром.

Есть стандартные библиотеки libjpeg для обработки jpeg файлов, libpng для обработки png файлов. Поддержка формата bmp встроена в операционную систему windows. В прикрепленном к сообщению файлу исходный код графических библиотек для работы с графическими форматами, подготовленный нормальной компиляции в операционной системе windows.
Вложения
Тип файла: zip opensource.zip (4.48 Мб, 47 просмотров)
1
Заблокирован
13.11.2014, 10:37
Для вероятной помощи с нашей стороны сперва следует уточнить:
1. Какие конкретно форматы графических файлов предполагается открывать?
2. Какое API можно использовать? Тут же неявно предполагается вопрос об используемой ОС для данного софта.
3. Что конкретно предполагается в дальнейшем делать с открытыми данными.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
13.11.2014, 12:03
В bmp файлах структурой является пиксель, представляемый в формате RGB 24 бит (красный, зеленый, синий). Кроме этого данные могут представляться в формате RGBA 32бита (красный, зеленый, синий, прозрачность).
А еще другим кол-вом битов, плюс выравнивание, плюс может порядок строк обратный быть, а может вообще не цвет, а индекс в палитре, которая, кстати, также же может быть разная, а может еще файл сжат и т.д.
0
0 / 0 / 0
Регистрация: 12.11.2014
Сообщений: 2
13.11.2014, 18:15  [ТС]
Цитата Сообщение от -THE_MASTER666- Посмотреть сообщение
Для вероятной помощи с нашей стороны сперва следует уточнить:
1. Какие конкретно форматы графических файлов предполагается открывать?
2. Какое API можно использовать? Тут же неявно предполагается вопрос об используемой ОС для данного софта.
3. Что конкретно предполагается в дальнейшем делать с открытыми данными.
На данный момент полную формулировку задачи нет возможности предоставить.
1) Форматы jpeg/ bmp.. пока не так важно.
2) WinAPI. OC Windows.
3) К открытому файлу в дальнейшем будут применяться разные фотофильтры для определения размера объекта, который на нем.
0
 Аватар для OstapBender
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
13.11.2014, 18:48
Попробуйте OpenCV, понравится
1
Заблокирован
13.11.2014, 18:48
ТС, под WinApi заюзай GDI+, супер вещь, в нём всё можно, эта штука типа Direct2D из DirectX11, только по слабее конечно... На простом GDI будет сложнее. Так что бери GDI+, который является частью WinApi и используй его
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2014, 18:48
Помогаю со студенческими работами здесь

Работа с графическими файлами в Access
Поскажите решение проблемы. Нужно программно записать в БД фотографию. Уже сбился с ног в поисках решений этой проблемы...

Работа с графическими файлами в Visual Prolog 7.2
Здравствуйте! Не могу нигде найти пример, как работать с графическими файлами в Visual Prolog 7.2. Начинаю сомневаться, есть ли там...

Работа с векторными графическими файлами WMF и EMF
Добрый день, уважаемые форумчане! возможна ли следующая реализация на QT, может у кого есть примеры: - загрузка векторного...

Программа для работы с графическими файлами
Помогите пожалуйста с заданием: На жестком диске С: в различных папках имеются файлы с графическими изображениями. Нужно создавать...

Работа с графическими данными
Создал png-файл. Но не понимаю, как его прочитать и вывести на монитор.


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru