Преобразователь файлов BMP в формат MKL


Главная / ЭКВМ / ПО

Назначение

Программа предназначена для преобразования графических файлов формата BMP в MKL, для компиляции программ ЭКВМ "Электроника МК-152/161". Одновременно формируются файлы в форматах MKI и TXT. Размер преобразуемого файла должен быть не более 128 на 64 пикселя. Поддерживаются форматы с палитрой 2, 16 и 256 цветов, а также 16-и, 24-х и 32-х битовые изображения с направлением вывода как сверху-вниз, так и снизу-вверх. Сжатые изображения не обрабатываются.

Из файлов BMP, имеющих палитру, для точек изображения ЭКВМ автоматически выбирается наиболее тёмный цвет. Из 16-, 24- и 32-битныхизображений переносятся точки чёрного цвета.

Программа распространяется с открытым исходным текстом под лицензией GPL 2 (или старше - по выбору). Программа работает под операционными системами GNU/Linux, DOS, Windows. Возможна компиляция под другие ОС.

Запуск программы

Запуск программы производится средствами ОС. В качестве параметра требуется указать имя BMP-файла:

bmp2mkl [-e] BMPfile

Имя MKL-файла создаётся автоматически. Кроме файла MKL программой создаются файлы форматов MKI и TXT. В файл графического экрана ЭКВМ формата MKI изображение записывается с левого верхнего угла. В текстовый файл TXT изображение выводится отдельными символами и служит для вывода файла на печать или на терминал. Преобразованное таким образом изображение может служить также для записи в HTML-файды с целью просмотра текстовыми браузерами.

При запуске программы с ключами: [-h] выводится краткая подсказка, [-v] номер версии и тип ОС, [-w] ссылка на GPL и предупреждение об отсутствии гарантий. Преобразование файла при этом не выполняется.

При запуске программы с ключом [-e] при ширине изображения менее 80 символов на терминал символами выводится вид изображения, аналогичный содержащемуся в файле TXT.

Ключ [-f] определяет формат вывода чисел в MKL-файл. Ключ имеет параметр: [-f0] - десятичный формат вывода, [-f1] - шестнадцатеричный, [-f2] - десятичный для чисел от 0 до 9, шестнадцатеричный в остальных случаях. Ключ используется с версии 0.11.

При успешном завершении программа возвращает код 0. При возникновении ошибок - код ошибки в соответствии с соглашениями BSD.

Использование программы

Для использования программы следует при помощи любого графического редактора создать BMP файл требуемого формата.

Свиборг

В качестве примера возьмём изображение Свиборга, аналогичное использованному в программе bmp2mki, но уменьшенного размера.

После преобразования svi161.bmp получаем набор файлов: svi152.mkl, svi161.mki и svi161.txt.

Файл MKL содержит данные массива и выглядит следующим образом:

svi161: 
 .DB 40h,40h
.DB 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
.DB 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
.DB 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
.DB 0h, 0h, 0h, F0h, Fh, 0h, 0h, 0h
.DB 0h, 0h, 80h, FFh, FFh, 0h, 0h, 0h
.DB 0h, 0h, E0h, FFh, FFh, 7h, 0h, 0h
.DB 0h, 0h, FCh, FFh, FFh, 1Fh, 0h, 0h
.DB 0h, 0h, FEh, FFh, FFh, 7Fh, 0h, 0h
.DB 0h, 80h, FFh, FFh, FFh, FFh, 1h, 0h
.DB 0h, C0h, FFh, F7h, FFh, FFh, 3h, 0h
.DB 0h, E0h, FFh, FFh, FFh, FFh, 7h, 0h
.DB 0h, F0h, FFh, DFh, FFh, FFh, Fh, 0h
.DB 0h, F8h, FFh, 9Fh, FFh, FFh, 1Fh, 0h
.DB 0h, FCh, F7h, 9Fh, FFh, FFh, 3Fh, 0h
.DB 0h, FEh, F7h, 3Fh, FFh, FFh, 7Fh, 0h
.DB 0h, FFh, F7h, 7Dh, FFh, FFh, FFh, 0h
.DB 0h, DFh, E3h, 3Fh, FCh, FFh, FFh, 0h
.DB 80h, C3h, E3h, 3Fh, F8h, FFh, FFh, 1h
.DB C0h, 0h, E2h, 3Fh, F0h, FFh, FFh, 1h
.DB C0h, 0h, E2h, 3Dh, F0h, FFh, FFh, 3h
.DB 40h, 0h, E0h, 1Fh, F0h, FFh, FFh, 3h
.DB 20h, 0h, C0h, 1Fh, F8h, FFh, FFh, 7h
.DB 20h, 0h, E0h, 1Fh, FCh, FFh, FFh, 7h
.DB 30h, 0h, C0h, Fh, BEh, FFh, FFh, Fh
.DB 10h, 0h, C0h, Fh, CFh, FFh, FFh, Fh
.DB 10h, 0h, 80h, C7h, CFh, FEh, FFh, Fh
.DB 10h, 0h, 80h, E7h, CDh, FEh, FFh, Fh
.DB 0h, 0h, 80h, FFh, DCh, FEh, FFh, Fh
.DB 8h, 0h, 80h, 1Fh, DCh, FCh, FFh, 1Fh
.DB 8h, 0h, 0h, Fh, 9Eh, DCh, FFh, 1Fh
.DB 8h, 0h, 0h, 1h, 9Eh, DCh, FFh, 1Fh
.DB 8h, 0h, 0h, 0h, BCh, DCh, FFh, 1Fh
.DB 8h, 0h, 0h, 0h, BCh, DCh, FFh, 1Fh
.DB 8h, 0h, 0h, 0h, BCh, DCh, FFh, 1Fh
.DB 8h, 0h, 0h, 0h, 9Ch, DCh, FFh, 1Fh
.DB 8h, 0h, 0h, 1h, 9Eh, DCh, FFh, 1Fh
.DB 0h, 0h, 0h, 7h, 9Eh, DCh, FFh, Fh
.DB 0h, 0h, 80h, Fh, DCh, FCh, FFh, Fh
.DB 10h, 0h, 0h, 37h, CCh, FEh, FFh, Fh
.DB 10h, 0h, 80h, E7h, CDh, FEh, FFh, Fh
.DB 10h, 0h, 80h, 87h, CFh, FEh, FFh, Fh
.DB 0h, 0h, C0h, Fh, 8Fh, FEh, FFh, 7h
.DB 20h, 0h, C0h, Fh, 9Ch, FFh, FFh, 7h
.DB 0h, 0h, C0h, Fh, 98h, FFh, FFh, 7h
.DB 40h, 0h, E0h, 1Fh, 38h, FFh, FFh, 3h
.DB 0h, 0h, E0h, 1Dh, B0h, FFh, FFh, 3h
.DB 80h, 0h, E0h, 17h, E0h, FFh, FFh, 1h
.DB 0h, 0h, E0h, 37h, C0h, FFh, FFh, 0h
.DB 0h, 1h, E0h, 2Fh, 80h, FFh, FFh, 0h
.DB 0h, 2h, E0h, 2Dh, 80h, FFh, 7Fh, 0h
.DB 0h, 0h, E0h, 2Fh, 80h, FFh, 3Fh, 0h
.DB 0h, 10h, F0h, Fh, 80h, FFh, 1Fh, 0h
.DB 0h, 30h, F0h, 7h, E0h, FFh, 1Fh, 0h
.DB 0h, 60h, E0h, 7h, FCh, FFh, 7h, 0h
.DB 0h, C0h, E7h, 3h, FEh, FFh, 3h, 0h
.DB 0h, 80h, FFh, 1h, FFh, FFh, 1h, 0h
.DB 0h, 0h, FFh, 0h, FFh, FFh, 0h, 0h
.DB 0h, 0h, FCh, 80h, FFh, 3Fh, 0h, 0h
.DB 0h, 0h, F0h, F0h, FFh, Fh, 0h, 0h
.DB 0h, 0h, 80h, FFh, FFh, 1h, 0h, 0h
.DB 0h, 0h, 0h, FCh, 3Fh, 0h, 0h, 0h
.DB 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
.DB 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
.DB 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h

В файл TXT изображение выводится символами:


******** **** *** *** * *** * *** * *** * **** * **** ***** ****** ** ****** ** ********* ** ********** ** ********** *** ************* *** ********** **** ******* *** ********** ** **** **************** * *************** ******************** ****************** ************************* * ********************* *************************** ********************* * *********** *** ********** ********* *** ***** * ************************** ****************** ** ***** *************** *** * ***** **** ** ******************** ** * **** *** ******** ****** ** ** **** *** ********* * *** * *** *********** *** ** **** ************* *** *** ****** ************* *** ** ** ** ******* ************** ********************* ******** *************** ************************ ******** ******************** *********** **** ******** ******************** *** *** ********* ******************* ***** **** ** ******** **************************************** *************** ******************** ****************** *********************** ********************* ****************************************************** ***************************************************** **************************************************** ********************** ********************* ************************************************** ************************************************* ************************************************ ********************************************** ******************************************** ****************************************** ***************************************** ************************************** ************************************ ********************************** ****************************** *************************** *********************** ****************** ********




Версии

0.1 (12.12.09) - первая версия

0.11 (02.01.10)

  • - изменён формат вывода чисел в MKL-файле;
  • - добавлен ключ -f (-f0 - десятичный формат в MKL, -f1 - шестнадцатеричный, -f2 - десятичный от 0 до 9).

Программа и ее исходный текст - на странице "программное обеспечение".


НПП "СЕМИКО" (383) 271-01-25 (многоканальный)