- •Государственное образовательное учреждение высшего профессионального образования «Тульский государственный университет»
- •Конспект лекций
- •Информатика
- •Содержание
- •Системы счисления. Позиционные и непозиционные системы
- •2.1. Кодирование текста
- •2.2. Растровая и векторная графика
- •2.3. Представление цвета
- •2.4. Представление звука. Ацп. Цап
- •3.1. Принцип фон Неймана
- •3.2. Общая структурная схема процессора
- •3.3. Арифметико-логическое устройство (алу)
- •3.4. Адрес ячейки памяти
- •3.5. Регистры процессора
- •3.6. Как процессор складывает два числа
- •4.1. Эволюция средств вычислений
- •4.2. Эволюция эвм
- •4.3. Поколения эвм
- •5.1. Эволюция персональных эвм
- •5.2. Классификация эвм
- •6.1. Программное обеспечение
- •6.2. Функции ос
- •6.3. Трансляция программ
- •6.5. Декомпозиция
- •6.6. Объектно-ориентированное программирование
- •7.1. Понятие алгоритма. Свойства алгоритма
- •7.2. Способы записи алгоритма: псевдокод, блок-схема
- •7.3. Преобразование программы в машинные коды. Интерпретаторы и компиляторы
- •7.4. Оптимизация кода для повышения эффективности
- •7.5. Структура ide. Отладка программ
- •8.1. Описание структуры проекта
- •8.2. Описание структуры модуля
- •8.3. Описание элементов программ
- •8.4. Алфавит языка программирования
- •8.5. Идентификаторы, константы, выражения
- •9.1. Целая и вещественная арифметика
- •9.2. Приоритет операций
- •9.3. Встроенные функции. Построение сложных выражений
- •10.1. Встроенные типы данных. Целые типы. Представление знака числа. Арифметическое переполнение
- •10.1.1. Встроенные типы данных
- •10.1.2. Целые типы
- •10.1.3. Представление знака числа
- •10.1.4. Арифметическое переполнение
- •10.2. Вещественные типы. Сопроцессор
- •10.3. Текстовые типы
- •10.4. Логический тип
- •10.5. Оператор присваивания. Совместимость типов по присваиванию
- •11.1. Устройства вывода
- •11.2. Объекты, обеспечивающие вывод данных на экран
- •11.2.1. Перечень компонентов ввода и отображения текстовой информации
- •11.2.2. Отображение текста в надписях компонентов Label, StaticText и Panel
- •11.2.3. Окна редактирования Edit и MaskEdit
- •11.2.4. Многострочные окна редактирования Memo и RichEdit
- •11.2.5. Группа радиокнопок – компонент RadioGroup
- •Ввод и отображение целых чисел — компоненты UpDown и SpinEdit
- •11.2.6. Компоненты выбора из списков — ListBox, CheckBox, CheckListBox и ComboBox
- •11.2.7. Таблица строк — компонент StringGrid
- •11.2.8. Функция InputBox
- •11.2.9. Процедура ShowMessage
- •11.3. Вывод в текстовый файл
- •11.3.1. Объявление файла
- •Назначение файла
- •11.3.2. Вывод в файл
- •11.3.3. Открытие файла для вывода
- •11.3.4. Ошибки открытия файла
- •11.3.5. Закрытие файла
- •11.4. Устройства ввода. Ввод с клавиатуры. Реакция на действия пользователя
- •11.4.1. Устройства ввода
- •11.5. Ввод из файла
- •11.5.1. Открытие файла
- •11.5.2. Чтение данных из файла
- •11.5.3. Чтение чисел
- •11.5.4. Чтение строк
- •12.1. Ветвление
- •12.2. Логические (булевские) операции
- •12.3. Составной оператор
- •12.4. Оператор ветвления if
- •12.5. Оператор ветвления case
- •12.6. Исключительные ситуации
- •13.1. Функции цикла в программе. Циклы с пред- и постусловием
- •13.2. Оператор While. Вечные циклы
- •13.3. Вечные циклы
- •13.4. Оператор repeat. Процедуры inc и dec
- •13.5. Цикл с переменной for
- •13.6. Команды break и continue
- •13.7. Вложенные циклы
- •13.8. Примеры задач с циклами
- •14.1. Объявление массива
- •14.2. Операции с массивами
- •14.2.1. Вывод массива
- •14.2.2. Ввод массива
- •14.2.3. Поиск минимального (максимального) элемента массива
- •14.2.4. Поиск в массиве заданного элемента
- •14.3. Ошибки при использовании массивов
- •15.1. Создание пользовательских функций. Передача аргументов
- •15.2. Глобальные и локальные переменные
- •15.3. Примеры написания пользовательских функций
- •15.4. Процедуры
- •15.5. Процедуры программиста
- •15.6. Передача параметров по ссылке и значению
- •15.7. Перегрузка процедур и функций
- •15.8. Упреждающее объявление процедур и функций (forward)
- •16.1. Основные понятия компьютерной графики
- •16.2. Получение сведений о режимах экрана. Эффекты прозрачности
- •16.3. Графические построения
- •16.4. Построение графиков функций
- •16.5. Использование компонента tChart
- •16.6. Обновление изображения
- •17.1. Анимация на основе операции xor
- •17.2. Буферизация фона
- •17.3. Работа с таймером
- •18.1. Виды диалога
- •18.2. Стандарты пользовательского интерфейса
- •18.2.3. Размеры окон
- •18.2.2. Размеры элементов управления
- •Надписи на элементах управления:
- •18.2.4. Схема расположения
- •19.1. Технология mmx
- •19.2. Мультимедийные аппаратные интерфейсы
- •20.1. Тест Тьюринга
- •20.2. Представление знаний и вывод на знаниях
- •20.3. Модели представления знаний
- •20.4. Вывод на знаниях
- •21.1. Основы телекоммуникаций и распределенной обработки информации
- •21.2. Каналы связи
- •21.2.1. Аналоговые и цифровые каналы
- •21.2.2. Коммутируемые и выделенные каналы
- •21.2.3. Двух- и четырехпроводные каналы
- •21.3. Семиуровневая модель osi
- •21.3.1. Физический уровень
- •21.3.2. Канальный уровень
- •21.3.3. Верхние уровни osi
- •21.4. Управление потоком
- •21.5. Технология "клиент-сервер"
- •22.1. Методы защиты информации
- •22.2. Основы криптографии
- •22.3. Симметричные криптосистемы
- •22.3.1.Моно- и многоалфавитные подстановки
- •22.3.2. Перестановки
- •22.3.3. Гамирование и блочные шифры
- •22.4. Алгоритмы цифровой подписи
- •22.5. Сжатие данных
- •22.5.1. Методы сжатия изображений
- •22.6. Понятие об экономических и правовых аспектах информационных технологий
2.2. Растровая и векторная графика
Как и любая другая информация в ЭВМ, графические изображения хранятся, обрабатываются и передаются по линиям связи в закодированном виде - т.е. в виде большого числа бит- нулей и единиц. Существует большое число разнообразных программ, работающих с графическими изображениями. В них используются самые разные графические форматы- т.е. способы кодирования графической информации. Расширения имен файлов, содержащих изображение, указывают на то, какой формат в нем использован, а значит какими программами его можно просмотреть, изменить (отредактировать), распечатать.
Несмотря на все это разнообразие, существует только два принципиально разных подхода к тому, каким образом можно представить изображение в виде нулей и единиц (оцифровать изображение):
При использовании растровой графики с помощью определенного числа бит кодируется цвет каждого мельчайшего элемента изображения - пиксела. Изображение представляется в виде большого числа мелких точек, называемых пикселами. Каждый из них имеет свой цвет, в результате чего и образуется рисунок, аналогично тому, как из большого числа камней или стекол создается мозаика или витраж, из отдельных стежков - вышивка, а из отдельных гранул серебра- фотография. При использовании растрового способа в ЭВМ под каждый пиксел отводится определенное число бит, называемое битовой глубиной. Каждому цвету соответствует определенный двоичный код (т.е. код из нулей и единиц). Например, если битовая глубина равна 1, т.е. под каждый пиксел отводится 1 бит, то 0 соответствует черному цвету, 1 -белому, а изображение может быть только черно-белым. Если битовая глубина равна 2, т.е. под каждый пиксел отводится 2 бита, 00- соответствует черному цвету, 01- красному , 10 - синему , 11- черному, т.е. в рисунке может использоваться четыре цвета. Далее, при битовой глубине 3 можно использовать 8 цветов, при 4 - 16 и т.д. Поэтому, графические программы позволяют создавать изображения из 2, 4, 8, 16 , 32, 64, ... , 256, и т.д. цветов. Понятно, что с каждым увеличением возможного количества цветов (палитры) вдвое, увеличивается объем памяти, необходимый для запоминания изображения (потому что на каждый пиксел потребуется на один бит больше).
Основным недостатком растровой графики является большой объем памяти, требуемый для хранения изображения. Это объясняется тем, что нужно запомнить цвет каждого пиксела, общее число которых может быть очень большим. Например, одна фотография среднего размера в памяти компьютера занимает несколько Мегабайт, т.е. столько же, сколько несколько сотен (а то и тысяч) страниц текста.
При использовании векторной графики в памяти ЭВМ сохраняется математическое описание каждого графического примитива - геометрического объекта (например, отрезка, окружности, прямоугольника и т.п.), из которых формируется изображение. В частности, для отрисовки окружности достаточно запомнить положение ее центра, радиус, толщину и цвет линии. По этим данным соответствующие программы построят нужную фигуру на экране дисплея. Понятно, что такое описание изображения требует намного меньше памяти (в 10 - 1000 раз) чем в растровой графике, поскольку обходится без запоминания цвета каждой точки рисунка. Основным недостатком векторной графики является невозможность работы с высококачественными художественными изображениями, фотографиями и фильмами. Природа избегает прямых линий, правильных окружностей и дуг. К сожалению, именно с их помощью (поскольку эти фигуры можно описать средствами математики, точнее - аналитической геометрии) и формируется изображение при использовании векторной графики. Поэтому основной сферой применения векторной графики является отрисовка чертежей, схем, диаграмм и т.п.
Как отличить векторную графику от растровой? Если Вы видите на экране фотографию или рисунок с близким к естественному изображением, с большим числом цветов и оттенков, то, скорее всего, Вы имеете дело с растровой графикой. Если чертеж, диаграмму, простой стилизованный рисунок,- с векторной. Если программа позволяет стирать, копировать или перемещать целые фрагменты (площади) изображения, то это растровая графика. Если удалить, скопировать, переместить можно только какие-то определенные фигуры или их части, то это графика векторная.
Пример изображения, созданного с использованием растровой графики:
Пример изображения, созданного с использованием векторной графики:
Файлы *.bmp , *.pcx , *.gif , *.msp , *.img и др. соответствуют форматам растрового типа, *.dwg , *.dxf , *.pic и др. - векторного.
Иногда, правда, растровые изображения могут входить в состав векторных как отдельные графические примитивы.