Представляю вашему вниманию новый модуль:
JPSLoader
Модуль добавляет вашим программам возможность загружать JPS-файлы.
Для этого просто включите модуль в программу на BlitzMAX:
import codeexotics.jpsloader
далее загрузку изображений делаете как обычно, если формат файла является jps-форматом, этот модуль его загрузит (формат файла не определяется расширением, расширение может быть любым отличным от *.jps).
Теперь немного о том чем этот формат JPS хорош.
Есть кратко это jpeg с альфа слоем. Т.е. объединяет сильное сжатие с потерями от jpg и альфаслой от png.
Разработчикам казуальных шароварок известно что большой объём игры является минусом. Однако в BlitzMAX наиболее популярен формат png как самый качественный и обладающий неплохим сжатие при наличии альфа-слоя.
Для изображений без прозрачности лучшим выбором является конечно же jpg.
Вот я и решил снабдить jpg отдельным альфа-слоем. jps это как бы 2 jpg один с полноцветным изображением без альфа-слоя, второй альфа-слой в градациях серого.
Выигрыш при конвертации png с настройками по-умолчанию достигает 4х кратного уменьшения размера.
Так же я сделал консольную утилиту конвертер png файлов с альфа-слоем в jps-формат.
Чтобы конвертировать любой png вам нужно перетащить его на иконку программы (поддерживаются и группы файлов). Внимание! png без альфа-слоя не конвертируются т.к. нет смысла, в этом случае используйте обычный jpg.
В файле config.ini можно задать коэффициенты качества для jpeg-сжатия самого изображения и отдельно альфа-слоя. (по умолчанию 60/60), допустимые значения 0-100 (больше-лучше качество, больше размер файла).
P.S. на мелких файлах размером меньше 10 кб выигрыша может неполучится, на файлах имеющих большие зоны одного цвета также. Наибольший выигрыш на фото-реалистичных изображениях с прозрачными местами.