Лекции (1171139), страница 20

Файл №1171139 Лекции (Лекции) 20 страницаЛекции (1171139) страница 202020-04-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 20)

последовательность символов 0x0D 0x0A, в один символ 0x0A (' \n' ), а"признак конца файла (потока)" — в значение EOF (End Of File). Константа EOFопределена в заголовочном файле stdio.h и обычно равна -1.При чтении двоичных потоков никаких преобразований не производится. То, скаким потоком мы собираемся работать — текстовым или двоичным, указывается при егооткрытии. Один из способов открытия потока — использование функции fopen. Типпотока указывается в строке параметров, которая является вторым аргументом этойфункции. Пример: f=fopen ("test.ext", " rt"} ; — открытие текстового файла test.ext для72чтения и связывание его с файловой переменной f.

На то, что файл открывается кактекстовый, указывает буква "t" в строке "rt". Чтобы открыть этот файл как бинарный, надоиспользовать букву "b": f=fopen ("test.ext", "rb").В ВМР-файле имеются две части — так называемый заголовок, в котором хранитсяинформация о картинке (соответствующая структура приведена ниже, правда, приходитсяотметить, что лишь небольшое количество полей заголовка нами будет использовано), исобственно изображение. Изображение хранится по точкам, в построчной развертке,начиная с нижней строки картинки.По решению разработчиков формат Bmp-файла не привязан к конкретнойаппаратной платформе.

Этот файл состоит из четырех частей: заголовка,информационного заголовка, таблицы цветов (палитры) и данных изображения. Если вфайле хранится изображение с глубиной цвета 24 бита (16 млн. цветов), то таблица цветовможет отсутствовать, однако в 256-цветном случае она есть. Структура каждой из частейфайла, хранящего 256-цветное изображение, дана в таблице ниже.Заголовок файла начинается с сигнатуры «BM», а затем идет длина файла,выраженная в байтах. Следующие 4 байта зарезервированы для дальнейших расширенийформата, а заканчивается этот заголовок смещением от начала файла до записанных в немданных изображения. При 256 цветах это смещение составляет 1078 — именно столько ипришлось пропустить в нашей прошлой программе, чтобы добраться до данных.Информационный заголовок начинается с собственной длины (она можетизменяться, но для 256-цветного файла составляет 40 байт) и содержит размерыизображения, разрешение, характеристики представления цвета и другие параметры.Ширина и высота изображения задаются в точках растра и пояснений, пожалуй, нетребуют.Количество плоскостей могло применяться в файлах, имеющих небольшуюглубину цвета.

При числе цветов 256 и больше оно всегда равно 1, поэтому сейчас этополе уже можно считать устаревшим, но для совместимости оно сохраняется.Глубина цвета считается важнейшей характеристикой способа представления цветав файле и измеряется в битах на точку. В данном случае она равна 8.Компрессия. В Bmp-файлах обычно не используется, но поле в заголовке для неепредусмотрено. Обычно она равна 0, и это означает, что изображение не сжато. Вдальнейшем будем использовать только такие файлы.Размер изображения — количество байт памяти, требующихся для хранения этогоизображения, не считая данных палитры.Горизонтальное и вертикальное разрешения измеряются в точках растра на метр.Они особенно важны для сохранения масштаба отсканированных картинок.

Изображения,созданные с помощью графических редакторов, как правило, имеют в этих полях нули.Число цветов позволяет сократить размер таблицы палитры, если в изображенииреально присутствует меньше цветов, чем это допускает выбранная глубина цвета.Однако на практике такие файлы почти не встречаются. Если число цветов принимаетзначение, максимально допустимое глубиной цвета, например 256 цветов при 8 битах,поле обнуляют.Число основных цветов — идет с начала палитры, и его желательно выводить безискажений. Данное поле бывает важно тогда, когда максимальное число цветов дисплеябыло меньше, чем в палитре Bmp-файла. При разработке формата, очевидно,принималось, что наиболее часто встречающиеся цвета будут располагаться в началетаблицы.

Сейчас этого требования практически не придерживаются, т. е. цвета неупорядочиваются по частоте, с которой они встречаются в файле. Это очень важно,поскольку палитры двух разных файлов, даже составленных из одних и тех же цветов,содержали бы их (цвета) в разном порядке, что могло существенно осложнитьодновременный вывод таких изображений на экран.73За информационным заголовком следует таблица цветов, представляющая собоймассив из 256 (по числу цветов) 4-байтовых полей. Каждое поле соответствует своемуцвету в палитре, а три байта из четырех — компонентам синей, зеленой и краснойсоставляющих для этого цвета.

Последний, самый старший байт каждого полязарезервирован и равен 0.После таблицы цветов находятся данные изображения, которое по строкам растразаписано снизу вверх, а внутри строки — слева направо. Так как на некоторыхплатформах невозможно считать единицу данных, которая меньше 4 байт, длина каждойстроки выровнена на границу в 4 байта, т. е. при длине строки, некратной четырем, онадополняется нулями.

Это обстоятельство обязательно надо учитывать при считываниифайла, хотя, возможно, лучше заранее позаботиться, чтобы горизонтальные размеры всехизображений были кратны 4.Структура Bmp-файлаИмяДлинаСмещениеЗаголовок файла (BitMapFileHeader)Type20Size42Reserved 126Reserved 228OffsetBits410Информационный заголовок (BitMapInfoHeader)Size414Width418Height422Planes226BitCount228Compression430SizeImage434XpelsPerMeter438YpelsPerMeter442ColorsUsed446ColorsImportant450Таблица цветов (палитра) (ColorTable)ColorTable102454Данные изображения (BitMap Array)ImageSize1078ОписаниеСигнатура "BM"Размер файлаЗарезервированоЗарезервированоСмещение изображения от начала файлаДлина заголовкаШирина изображения, точкиВысота изображения, точкиЧисло плоскостейГлубина цвета, бит на точкуТип компрессии (0 - несжатое изображение)Размер изображения, байтГоризонтальное разрешение, точки на метрВертикальное разрешение, точки на метрЧисло используемых цветов (0 - максимальновозможное для данной глубины цвета)Число основных цветов256 элементов по 4 байтаИзображение, записанное по строкам слева направо иснизу вверх74Представление изображений.

RGB-модель.Компьютер может работать только с цифровыми данными. Для того чтобы обработать с помощьюкомпьютера изображение, его нужно выразить в цифровом виде. Существуют два основных способацифрового представления изображений: растровый и векторный. Для векторной графики характерноразбиение изображения на ряд графических примитивов – точки, прямые, ломаные, дуги, полигоны. Такимобразом, появляется возможность хранить не все точки изображения, а координаты узлов примитивов и ихсвойства (цвет, связь с другими узлами и т. д.). Итак, под растровым (bitmap, raster) понимают способпредставления изображения в виде совокупности отдельных точек (пикселей) различных цветов илиоттенков.

Это наиболее простой способ представления изображения, ибо таким образом видит наш глаз. Всеизображения можно подразделить на две группы с палитрой и без нее. У изображений с палитрой в пикселе(pixel - picture element) хранится число - индекс в некотором одномерном векторе цветов называемомпалитрой. Чаще всего встречаются палитры 16 и 256 цветов.Цвета образуются в природе различным образом. С одной стороны, источники света (солнце,лампочки, экраны компьютеров и телевизоров) излучают свет различных длин волн, воспринимаемыйглазом как цветной свет.

Попадая на поверхности несветящихся предметов, свет частично поглощается, ачастично отражается. Отраженное излучение воспринимается глазом как окраска предметов. Таким образом,цвет объекта возникает в результате излучения или отражения. Описание цвета объекта в первом случаеотличается от второго, т. е. применяются разные модели цвета. Модель RGB описывает излучаемые цвета иоснована на трех базовых цветах — Red (Красный), Green (Зеленый), Blue (Синий).

Остальные цветаобразуются при смешивании этих трех основных. При сложении (смешении) двух лучей основных цветоврезультат светлее составляющих. Цвета этого типа называются аддитивными.Из смешения красного и зеленого получается желтый, зеленого и синего — голубой, синий икрасный дают пурпурный.

Если смешиваются все три цвета, в результате образуется белый. Смешав трибазовых цвета в разных пропорциях (с разными яркостями), можно получить все многообразие оттенков.Если говорить о растровом изображении в модели RGB, то каждый его пиксел представляется яркостямитрех базовых цветов: красного, зеленого и синего. Как уже говорилось выше, яркости пикселов хранятся вканалах. Таким образом, для RGB-изображения требуется три канала.75Цветовой канал — это полутоновое изображение, отражающее распределение яркостейсоответствующего базового цвета.

Если документ имеет модель Grayscale, то содержимое единственногоканала и образует изображение. Редактирование канала и редактирование изображения в этих случаях однои то же.Если модель документа — RGB, то изображения в красном, зеленом и синем канале, накладываясьдруг на друга, образуют цветную картинку. При этом, заметьте, цвета смешиваются аддитивно, как лучисвета. Это значит, что при наложении результат осветляется.

Характеристики

Тип файла
PDF-файл
Размер
1,27 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее