проверяем
https://jpegshare.net/images/da/40/d...a80fc7f8c8.png https://jpegshare.net/images/29/cd/2...c3502ad6cd.png
https://jpegshare.net/images/c8/02/c...4b8bd4e2be.png https://jpegshare.net/images/c6/c3/c...4114ddc923.png
https://jpegshare.net/images/8a/85/8...d65e1905cc.png
https://jpegshare.net/images/04/4f/0...dd7cea572c.png https://jpegshare.net/images/2d/53/2...04f7ac3ec3.png
https://jpegshare.net/images/dd/94/d...69a8503cfd.png https://jpegshare.net/images/52/5d/5...084ed17cfe.png
https://jpegshare.net/images/7c/0d/7...7907f5f9fb.png https://jpegshare.net/images/98/32/9...1e2b3bf52b.png
по крайней мере проверенные в emu палитры на вид совпадают
- - - Добавлено - - -
замечаниЁ
1. белая рамка при сплющивании подставляется перед конвертацией
https://jpegshare.net/images/3f/7c/3...dc3451c83d.png
со всеми вытекающими
https://jpegshare.net/images/52/0f/5...c5c492e143.png
оно начинаит считать белый одним из основных цветом
которого на картинке может и близко не быть
тут можно сделать 3 варианта
белый фон
черный фон (именно его лучше по дефолту тк черный есть почти всегда (да и обычно на спектрумах ставят именно черный бордюр чтоб не мозолил глаза))
фон какой получитсо (тк может быть пофиг какого цвета рамка)
2. номер палитры лучше отображать и в самом редакторе
подсматривать в hex редакторе какой же номер палитры у сконверченой картинки не очень удобно
ну и это актуально наверно и для бека
3. щас нет возможности нормально выставить максимальный уровень для наиболее рационального испоользования
есть ligtness fix но оно измеряется в сферически вакуумных единицах и нужный оптимальный не поставишь
можно было бы сделать вообще несколько прессетов
255 > 85 - для RGB0 палитр в которых белый получается при помощи 3-х пикселей
255 > 128 - для палитр в которых белый получается при помощи 2-х инверсных пикселей (например зеленый+магента)
255 > 171 - для CMY подобных палитр в которых белый получается при помощи 3-х пикселей (собственно C, M, Y)
и можно было бы режим auto
когда динамический диапазон подгоняется под каждую палитру
например
если на картинке максимальная яркость 230 а в палитре есть 255 растягиваем картинку 230 до 255
если на картинке максимальная яркость 230 а в палитре только 128 то сплющиваем 230 до 128
нижний уровень наверно не нужно дотягивать до 0
но это нужно как то делать с учетом того что белый получается из 2-х 3-х цветов
и что самого белого на картинке может и не быть
нужно или перебирать комбинации 3-х цветов для всей палитры
или считать по сумме яркостей (может с коэфициентами) и может тогда недостающие цвета будут замененны эквивалентными хотябы по яркости а не просто срезаны
или нужно как то проверять для каждой компоненты раздельно
я еще не дошел до реализации подобного
и пока правильный алгоритм действий не придумал...
- - - Добавлено - - -
Dec, так же наверно нужно в первом посте описать нестандартные форматы изобретенные в этой теме
ато потом затеряется в каком формете экран специалиста с атрибутами
где палитра в формате экрана львова

