PDA

Просмотр полной версии : Корвет: граф редактор GRIN



esl
02.02.2015, 01:59
На Корвет есть редактор GRIN

marinovsoft подтолкнул меня посмотреть форматы его файлов

вот что написано в доке

5.2.5.1. GRF - Режим выгрузки со сжатием.
Это основной режим выгрузки. В этом режиме рисунок при
сохранении кодируется и занимает на диске меньше места.
Недостаток этого режима - невозможность использования рисунка
другими программами.

5.2.5.2. PIC - Режим выгрузки без сжатия.
Этот режим может понадобиться при использовании рисунка
другими программами. В файл выводятся полностью 3 слоя ГЗУ
начиная с младшего. Таким образом объем файла всегда будет
равным 48 Кбайт.

5.2.5.3. WIN - Режим выгрузки окна.
Этот режим позволяет выгружать на диск не весь, а только
часть рисунка (окно). Это очень полезно при переносе участков
изображения из одного рисунка в другой.
В отличие от других режимов, при выгрузке окна после
нажатия клавиши 'S' (Start) не происходит сразу же выгрузка, а
на экране появляется курсор. Необходимо выделить на экране (так
же, как при копировании) сохраняемое окно и лишь после этого
файл будет записан.
Еще одно достоинство этого режима - если вы делаете
небольшой рисунок ,то может оказаться, что его размер на диске
при выгрузке окна будет меньше, чем при выгрузке со сжатием.



вот описания форматов ;)


PIC - просто 3 слой по 16 кб, 48К, без заголовка


WIN - запись прямоугольной области
формат файла
db 'WIN1.0'
dw xPixelSize-1
db ySize-1
3 слоя размером xPixelSize/8*ySize каждый
размер слоя в байтах выровнен в большую сторону а y в заголовке
planeSize=(xPixelSize/8+1)*(ySize+1)



GRF - сжатый экран
отдельно сжаты 3 слоя
сжатие построчное ;)
данные - битовый поток

db 'GRF1.0'
данные, последовательно 3 плоскости

пока не заполинли плоскость (0x4000)
читаем 3 бита (хотя значящих там только 2)
case
0: побитно 512бит из потока в итоговую плоскость (или 64 байта)
1: читаем бит, если он равен 0 то заполнитель =0 иначе 0xff, заполняем 64 байта заполнителем
2: читаем байт заполнителя, заполняем 64 байта заполнителем
3: читаем байт заполнителя
64 байта ....
читаем бит
если бит = 1 то читаем байт и записываем его в выходной поток
иначе записываем заполнитель в выходной поток


в аттаче мои "декодеры"

marinovsoft
02.02.2015, 04:21
В качестве дополнения формат файлов win графического редактора grin.com

http://radikall.com/images/2015/01/30/1mq2.png


db 'WIN1.0' ;Сигнатура
dw Width - 1 ;Ширина - 1
db Height - 1 ;Высота - 1
db RedDATA ; бит на пиксель
db GreenDATA ; бит на пиксель
db BlueDATA ; бит на пиксель


И пара файлов для одного популярнейшего графического редактора для PC для подготовки файлов (палитра и пресет) в аттаче. Сохранять через пункт "сохранить/оптимизировать формат". Палитра была получена путем снятия скриншота палитры в редакторе grin.com в эмуляторе virtualkorvet 0.12(9) и не претендует на точность. Конвертер из bmp в wim не привожу в виду его исключительной простоты.

Также во вложении несколько картинок (источник- развлекательный ресурс) в формате gif подогнанных под указанную палитру.