Посмотрим теперь, как выглядит закодированное
Посмотрим теперь, как выглядит закодированное изображение в pcx-файле, формируемом редакторами PC Paintbrush и PMTV A4TECH (рис.8).
Логично предположить, что pcx-файл должен содержать 5·4 байтов (рис.8а) без учета размера заголовка. Линия белого цвета, и поэтому требуется инициализация 4-х слоев видео-памяти. Но практика показывает (рис.8б,в), что оба редактора поступают по-другому и размеры pcx-файла больше, чем ожидалось. За счет чего же происходит увеличение размера?
В файле, созданном редактором PMTV (A4TECH) видим (рис.8в), что для каждого слоя строка содержит (начиная с 4 колонки и до конца) дополнительную информацию, относящуюся к незанятой нашим изображением части экрана. То есть, иными словами, в файле хранится дополнительная информация о всей строке экрана независимо от размеров изображения по горизонтали.
В файле же, созданном PC Paintbrush, мы наблюдаем то же самое, за исключением того, что хранимая информация зависит от размеров изображения по горизонтали и выбирается кратной целому числу.
Казалось бы, во втором случае подход более рационален, так как размер файла меньше. К сожалению, дело омрачается тем обстоятельством, что в байте, расположенном после после байтов с изображением (рис. 8б, колонка 4, выделено жирным), оказывается "мусор", и если не принимать никаких мер, то справа от изображения появится красивая, но ненужная бахрома. "Мусор" образуется из-за того, что буфер с записываемыми данными предварительно не очищается, и неинициализированные байты могут содержать любую информацию.
С4h,FFh,07h,C3h,00H - 0-й слой
С4h,FFh,07h,C3h,00H - 1-й слой
С4h,FFh,07h,C3h,00H - 2-й слой
С4h,FFh,07h,C3h,00H - 3-й слой
а) предполагаемый результат
С4h,FFh,07h,01h,C5h,00H - 0-й слой
С4h,FFh,07h,03h,C5h,00H - 1-й слой
С4h,FFh,07h,21h,C5h,00H - 2-й слой
С4h,FFh,07h,32h,C5h,00H - 3-й слой
б) PC Paintbrush Zsoft Corp.
С4h,FFh,07h,FFh,00H ... - 0-й слой
С4h,FFh,07h,FFh,00H ... - 1-й слой
С4h,FFh,07h,FFh,00H ... - 2-й слой
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий