MeXaN1cK 53 Опубликовано: 20 мая, 2018 (изменено) Я вас категорически приветствую! Сегодня я хочу представить вам новый формат для изображений для OpenComputers! Данный формат был придумал в соавторстве с @@Alexc. Начну я с того, как устроен процесс конвертации картинки (ну и самого формата тоже): Определяются базовые цвета картинки (пара цветов -baseFore, baseBack - которые чаще всего встречаются на исходном изображении), преобразуются в цвета opencomputers и записываются в файл вместе с размерами картинки. Сканируется картинка по паре пикселей по координатам x y * 2 - 1 и x y * 2, чтобы получилась пара цветов (fore и back). Из них формируются "цепочки" вида : { [back] = { [fore] = {x,y,str} } где back и fore - цвета "верхнего" и "нижнего" пикселей, а {x,y,str} - сама цепочка. Пример из 1 картинки: [6712704]={ -- Преобразованный в целочисленное значение цвет для background [7895160]={ -- Преобразованный в целочисленное значение цвет для foreground {70,31,"▄"} -- Сама цепочка, которая будет отрисована. } ,[13816530]={ {65,41,"▄▄"} } ,[2960685]={ {95,43,"▄"} },[12829635]={ {95,42,"▄"} } } (Разумеется все это хранится в байткоде, а не в таком виде ) Плюсы и минусы: Плюсы: Достаточно быстрая скорость отрисовки картинок. Достаточно небольшой размер конечных файлов (По сравнению с оригиналом в .png - .pix занимает в разы меньше места, а по сравнению с .jpg - больше ) Минусы: При конвертации и отрисовке используются только 4 символа Юникода: "▄" , "▀" , "█" , " ". Максимальное разрешение исходной картинки 160х100 пикселей в форматах: .png, .jpg, .bmp. Нет поддержки шрифтов Брайля (см. пункт 1 ). Установка: Скачать сам конвертор, написанный на Kotlin (Спасибо @@Totoro =) ) https://github.com/cc-ru/pix/releases Или же скачать lua версию : pastebin get SYfcHuhr PIXconv.lua Запускать таким образом: PIXconv file Файл будет сохранен в ту же папку, с тем же названием, но с расширением .pix Так же вместе с конвертором будет скачана программа для отрисовки под названием PIXdraw.lua. Если же вы хотите ее скачать отдельно, то: pastebin get Bm0JUJnj PIXdraw.lua Запускать таким образом: PIXdraw file.pix Скриншоты (как это выглядит в OCEmu и майнкрафте): https://clip2net.com/s/3Ug8qrb https://clip2net.com/s/3Ug88vV Изменено 20 мая, 2018 пользователем MeXaN1cK 10 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
MeXaN1cK Автор темы 53 Опубликовано: 28 мая, 2018 (изменено) Так, с конвертором на жаве возникла проблема. Будем фиксить. Скачать можно будет позже там же, но уже под другой версией. ФИКС Так, все починино!Скачать по той же ссылке, файлик будет называться: PIXConvertor.Fixed.jar.И еще 1 не мало важный момент - на винде при включеном антивирусе не сохраняется почему-то результат работы конвертора.Будьте внимательны!!! Да, совсем забыл: чтобы отобразить время чтения и отрисовки файла нужно дополнительно указывать еще 1 аргумент, примерно вот так: PIXdraw test.pix 1 Изменено 28 мая, 2018 пользователем MeXaN1cK 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах