С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Спасибо! То, что надо. Думаю, что основательнее к этому вопросу никто и никогда не подходил.
Поправлю палитру в своём классе и заново выставлю её в zxgfx (благо это дело пяти минут).
Результат, получившийся для классической палитры (не гигаскрин):
brightness=0:
0x000000
0x0000cd
0xcd0000
0xcd00cd
0x00cd00
0x00cdcd
0xcdcd00
0xcdcdcd
brightness=1:
0x000000
0x0000ff
0xff0000
0xff00ff
0x00ff00
0x00ffff
0xffff00
0xffffff
Это спасибо тем товарищам, которые на протяжении 13 страниц ломали головы над этой проблемой.
Кстати, приложу в качестве аттача класс для конвертации scr файлов в GD2 ресурсы в PHP, мало ли кому пригодится для разработки сайтов. Главный минус - никак пока не решена проблема с flash-аттрибутами, но это тема для отдельного размышления. В том виде в каком оно сейчас есть и в каком задумывалось, flash-мигание поддержать нереально, так как GD по спецификации не поддерживает анимацию. Если кому-то серьезно понадобится, напишу класс-обертку для генерации именно анимированных гифов.
Пример использования (scr в png):
Я рассчитываю когда-нибудь запустить открытый проект, посвященный спектрумовской графике, с рейтингами, авторами и юзерским контентом, но вряд ли это произойдёт раньше, чем через полгода-год.Код:<?php require_once('scrToGD.class.php'); $resource = imagecreatefromscr('dragon.scr'); imagepng($resource, 'test.png'); ?>
Есть даже готовый фреймворк и огромное желание этим заниматься, но некоторые перспективный, но хлопотливые обстоятельства забирают сейчас 99% личного времени.
Попробовал поиграться с "кислотной" палитрой и пришел к выводу, что, независимо от её правильности или неправильности, на мой вкус она точнее передаёт ощущение от реальной машины.
вот только вопрос возник. в ini файле от unreal предлагается высчитывать RGB значения по следующей схеме:
вот только с этим маленькая загвоздка - при делении на 0x100 мы, например, никогда не получим #FF0000 для красного цвета, потому что результатом будет #FE0000, что и можно наблюдать, если померять результат со скриншота с Unreal. Так и должно быть, или это погрешность из-за ошибки?Код:; palette format: ; name=ZZ,ZN,NN,NB,BB,ZB:R11,R12,R13;R21;R22;R23;R31;R32;R33 ; where ZZ,NN,BB - bright levels for black,normal,and bright colors ; ZN,NB,ZB - bright levels for zero+normal, normal+bright, zero+bright ; for GIGASCREEN and FLASH-COLORS ; Rnn - matrix for post-processing: ; real_Red = (Red*R11 + Green*R12 + Blue*R13) / 0x100 ; real_Green = (Red*R21 + Green*R22 + Blue*R23) / 0x100 ; real_Blue = (Red*R31 + Green*R32 + Blue*R33) / 0x100
А результат получился более чем любопытным. Я приложил для сравнения пару PNG с результатом.
Если кому-нибудь надо, я модифицирую класс-конвертер, чтобы задавать палитру в общепринятом формате.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)