- •14.1. Теоретические основы сжатия данных
- •Объекты сжатия
- •Обратимость сжатия
- •Алгоритмы обратимых методов
- •Алгоритм rle
- •Алгоритм kwe
- •Алгоритм Хафмана
- •Синтетические алгоритмы
- •14.2. Программные средства сжатия данных
- •Базовые требования к диспетчерам архивов
- •Дополнительные требования к диспетчерам архивов
- •Практическое занятие
- •Упражнение 14.2. Извлечение файлов из zip-архива
- •Упражнение 14.3. Создание zip-архива
- •Упражнение 14.4. Защита ZiP-архива
- •Упражнение 14,5. Создание самораспаковывзющегося ZlP-архива
- •Упражнение 14.6. Создание самораспаковывающегося распределенного архива
- •Упражнение 14.7. Наблюдение интеграционных свойств программы WinZip
- •Задание 14.2. Исследование алгоритмов сжатия программы WinZip 7.0
- •Теоретические основы
- •Целесообразность уплотнения носителей
- •Программа Сжатие данных (DriveSpace 3)
- •Упражнение 14.9. Управление размером сжатого тома
- •Упражнение 14.10. Корректировка расчетного коэффициента сжатия
Упражнение 14.7. Наблюдение интеграционных свойств программы WinZip
В этом упражнении на примере диспетчера архивов WinZip 7.0 мы ознакомимся с тем, как выполняется интеграция служебных и прикладных программ с операционной системой Windows 98.
Под интеграцией программного обеспечения понимают возможность совместной работы нескольких различных программ в рамках единой системы управления. Так, например, уже известным нам системным средством интеграции является концепция внедрения и связывания объектов и основанный на ней буфер обмена Windows. Здесь же мы познакомимся с другим приемрм интеграции, в основе которого лежит изменение свойств программы Проводник и связанного с ней контекстного меню объектов.
С точки зрения интеграции в современном развитии диспетчеров архивов четко прослеживаются две тенденции: интеграция с операционной системой Windows 98 и, наоборот, отказ от интеграции и автономное функционирование. Оба подхода имеют свои достоинства и недостатки. Глубокая интеграция с Проводником делает работу пользователя более удобной и интуитивно понятной. Отказ от интеграции позволяет расширить возможности настройки программы (в первую очередь за счет использования параметров командной строки запуска) и обеспечить гибкое взаимодействие с другими приложениями. Характерным представителем первого направления является рассмотренный нами диспетчер архивов WinZip. Характерным представителем второго направления является популярный в России диспетчер WinRAR.
В итоге получается следующее соотношение:
для эпизодических работ по архивации и извлечению файлов и папок удобнее использовать систему, хорошо интегрированную в Windows, например, WinZip 7.0;
для регулярных работ по созданию резервных копий папок и дисков удобнее использовать автономные средства, поскольку для них проще организуется взаимодействие с прочими программами (в частности, со средствами автоматизации). В этих случаях можно рекомендовать, например, WinRAR 2.0.
Запустите программу Проводник (Пуск ► Программы ► Проводник).
Создайте папку для экспериментов С:\Темр (если эта папка уже существует, создайте в ней папку C:\Temp\Test.
Скопируйте в созданную папку несколько произвольных файлов, взяв их, например, из папки C:\Windows\Media.
Откройте созданную папку и выделите один из помещенных в нее файлов.
Щелкните правой кнопкой мыши на значке выделенного файла — откроется контекстное меню, представленное на рис. 14.8. Обратите внимание на то, что в нем имеются два пункта для создания архива (создание архива с произвольным именем и с именем, соответствующим текущему файлу). Появление этих пунктов связано с наличием в компьютерной системе диспетчера архивов и интеграции WinZip 7.0 с Проводником Windows.
Дайте команду Add to Zip (Добавить в архив) — произойдет автоматический запуск диспетчера архивов WinZip 7.0 и открытие диалогового окна Add (Добавление в архив).
В поле Add to archive (Добавить в архив) автоматически заносится адрес текущей папки. Сюда остается вписать только название файла создаваемого архива, например C:\Temp\Test\media. Если надо открыть другую папку, это можно сделать с помощью командной кнопки Open (Открыть). Если надо создать новую папку внутри текущей, воспользуйтесь кнопкой New (Создать). Проверив настройку прочих элементов управления, запустите процесс архивации щелчком на командной кнопке Add (Добавить).
Перейдите в окно программы Проводник и убедитесь в том, что в экснериментальной папке появился архивный файл Media.zip.
Щелкните на значке архивного файла правой кнопкой мыши и изучите новые команды контекстного меню, позволяющие выполнить операции с архивным файлом (рис. 14.9).
Дайте команду Create Self-Extractor (Создать самораспаковывающийся архив), В открывшемся диалоговом окне щелкните на командной кнопке Да и в последующих диалоговых окнах откажитесь от проверки созданного архива. Закройте открытые окна программы WinZip и в программе Проводник убедитесь в том, что в экспериментальной папке появился исполнимый файл (.ЕХЕ).
В программе Проводник выполните перетаскивание значка любого файла (или группы файлов) на значок созданного Z/P-архива. При отпускании кнопки мыши в конце перетаскивания происходит автоматическое добавление новых файлов в архив. Если содержимое правой панели Проводника открыто в режиме Таблица, после каждого перетаскивания можно наблюдать увеличение размера файла архива.
Мы наблюдали факт изменения свойств программы Проводник за счет того, что в компьютерной системе установлена программа WinZip. Это изменение свойств выразилось, во-первых, в изменении содержания контекстного меню, связанного с объектами Windows, и, во вторых, в том, что работает прием наполнения архива методом перетаскивания. Таким образом, мы можем говорить о том, что установка программы WinZip расширила функциональные возможности системной программы Проводник.
Исследовательская работа
Задание 10.1. Исследование свойств форматов сжатия графических данных
Подготовьте для экспериментов папку C:\Temp\Pictures.
Откройте графический редактор Paint (Пуск ► Программы ► Стандартные ► Paint) и загрузите в него заранее подготовленный многоцветный рисунок, например С:\Windows\Облака.bmр.
Определите размер рисунка в пикселах (Рисунок ► Атрибуты). Оцените теоретический размер рисунка в 24[разрядной палитре (3 байта на точку) по формуле:
S=3MN, где S — размер файла с рисунком (байт);
М—ширина рисунка (точек);
N — высота рисунка (точек).
Запишите результат: S =
Сохраните рисунок в папку C:\Temp\Pictures, выбрав имя файла Test и назначив тип файла: 24-разрядный рисунок (.BMP).
Повторно сохраните рисунок, выбрав то же имя Test, но назначив тип файла .GIF. При сохранении произойдет потеря определенной части графической информации.
Восстановите рисунок, загрузив его из ранее сохраненного файла Test.bmp, и вновь сохраните его под тем же именем, но выбрав в качестве типа файла формат JPEG.
Запустите программу Проводник. Откройте папку C:\Temp\Pictures в режиме Таблица. Определите размеры файлов Test.bmp, Test.gif и Test.jpg. Определите коэффициент сжатия файлов (К), взяв отношения размеров файлов к теоретической величине, полученной расчетным путем в п. 3. Результаты занесите в таблицу.
Формат файла |
Размер файла (Кбайт) |
Степень сжатия (%) |
24-разрядный .BMP |
|
|
.GIF |
|
|
.JPG |
|
|
8. Ответьте на вопросы.
Что можно сказать о степени сжатия данных в формате BMP?
Что можно сказать о степени сжатия данных в формате JPEG?
9. В графическом редакторе Paint дайте команду создания нового документа Файл ► Создать. Убедитесь в том, что полотно имеет размер 640x480. Если это не так, измените его размер командой Рисунок ► Атрибуты ► Ширина (Высота).
В качестве инструмента выберите Кисть. Задайте максимальный размер кисти. Поочередно используя 8-10 разных красок, грубо закрасьте полотно.
Сохраните рисунок под именем Test_1 в формате 24-разрядный рисунок (bmp).
Сохраните рисунок под именем Test_1 в формате GIF.
Восстановите рисунок из файла Test_1 .bmp.
Сохраните рисунок под именем Test_1 в формате JРЕС
С помощью программы Проводник определите размеры сохраненных файлов и заполните таблицу.
Формат файла |
Размер файла (Кбайт) |
Степень сжатия (%) |
24-разрядный .BMP |
|
|
.GIF |
|
|
.JPG |
|
|
Уточните ранее сделанный вывод о степени сжатия данных в формате JPEG, учитывая тот факт, что в первом случае изображение было многоцветным, а во втором случае оно имело небольшое количество цветовых оттенков.
Ответьте на вопросы.
Какой формат графических данных из рассмотренных здесь наилучшим образом подходит для передачи цветного фотографического материала по каналам электронных сетей?
Какой формат графических данных целесообразно использовать для передачи черно-белого фотографического материала по каналам электронных сетей?
Какой формат наиболее благоприятен для передачи рисунков, имеющих малое количество цветовых оттенков (до 256)?
Какой формат графических данных не годится для передачи информации по каналам электронных сетей, но удобен для хранения изображений, предназначенных для дальнейшей обработки?
18. В программе Проводник удалите экспериментальную папку C:\Temp\Pictures.
