Просмотр полной версии : RGB значения для спектрумовской палитры.
moroz1999
11.04.2009, 16:19
Подскажите пожалуйста, каковы наиболее близкие аналоги спектрумовских цветов в RGB виде?
Или там не всё так просто и однозначно сказать невозможно? Я тут просто на PHP написал класс для конвертирования SCR в GD-ресурс, и мне нужно остановиться на каких-то значениях.
Сейчас использую вот такую палитру:
brightness=0:
0x000000
0x00009f
0x9f0000
0x9f009f
0x009f00
0x009f9f
0x9f9f00
0x9f9f9f
brightness=1:
0x000000
0x0000fe
0xfe0000
0xfe00fe
0x00fe00
0x00fefe
0xfefe00
0xfefefe
Я тут просто на PHP написал класс для конвертирования SCR в GD-ресурс, и мне нужно остановиться на каких-то значениях.
Скачай картинки с ASCII8, там два варинта палитры Unreal Alone и Risk'а (типа максимально приближенная к реалу).
moroz1999
11.04.2009, 23:00
любопытно. в votepack использовалась следующая палитра:
brightness=0:
0x000000
0x0000b1
0xb10000
0xb100b1
0x00b100
0x00b1b1
0xb1b100
0xb1b1b1
brightness=1:
0x000000
0x0000ff
0xff0000
0xff00ff
0x00ff00
0x00ffff
0xffff00
0xffffff
честно говоря, я каких только вариантов не встречал :)
в votepack использовалась следующая палитра:
Там их две.
Кислотно-неоновая Риска.
moroz1999
12.04.2009, 17:01
а они как-то переключаются или же просто применены на соответствующих PNG?
я просто как-то не нашел отдельно, а значения мерял со скриншота.
а они как-то переключаются или же просто применены на соответствующих PNG?
Применены конечно.
Стучись к Риску 322843923, он тебе всё расскажет про свою любимую политру. :)
moroz1999
12.04.2009, 19:55
спасибо, спрошу!
поковырял тут форум на WOS, и с удивлением обнаружил, что за всё время существования эмуляторов авторы так и не пришли хотя бы к каким-то стандартам, все делают на глаз.
Я понимаю, что эти значения зависят от модели Спектрума, от конкретных экземпляров даже, но тем не менее хотя бы к каким-то усредненным или наиболее распространенным вариантам прийти можно, имхо. Уверен, что в экземплярах каждой отдельно взятой модели эти значения колеблятся в разумных пределах.
Странно, что эта тема до сих пор не получила должного обсуждения.
На самом деле всё это обсуждалось, просто по другому поводу.
Начало (http://www.zx.pk.ru/showthread.php?t=505) и конец (http://www.zx.pk.ru/showthread.php?t=7880) размышлений в которых эта палитра и родилась.
moroz1999
12.04.2009, 22:26
Спасибо! То, что надо. Думаю, что основательнее к этому вопросу никто и никогда не подходил.
Поправлю палитру в своём классе и заново выставлю её в zxgfx (благо это дело пяти минут).
Результат, получившийся для классической палитры (не гигаскрин):
brightness=0:
0x000000
0x0000cd
0xcd0000
0xcd00cd
0x00cd00
0x00cdcd
0xcdcd00
0xcdcdcd
brightness=1:
0x000000
0x0000ff
0xff0000
0xff00ff
0x00ff00
0x00ffff
0xffff00
0xffffff
Спасибо! То, что надо. Думаю, что основательнее к этому вопросу никто и никогда не подходил.
Поправлю палитру в своём классе и заново выставлю её в zxgfx (благо это дело пяти минут).
Ценная информация, да и для сайтостроения спектрумоориентированного пригодится
moroz1999
14.04.2009, 01:20
Это спасибо тем товарищам, которые на протяжении 13 страниц ломали головы над этой проблемой.
Кстати, приложу в качестве аттача класс для конвертации scr файлов в GD2 ресурсы в PHP, мало ли кому пригодится для разработки сайтов. Главный минус - никак пока не решена проблема с flash-аттрибутами, но это тема для отдельного размышления. В том виде в каком оно сейчас есть и в каком задумывалось, flash-мигание поддержать нереально, так как GD по спецификации не поддерживает анимацию. Если кому-то серьезно понадобится, напишу класс-обертку для генерации именно анимированных гифов.
Пример использования (scr в png):
<?php
require_once('scrToGD.class.php');
$resource = imagecreatefromscr('dragon.scr');
imagepng($resource, 'test.png');
?>
Я рассчитываю когда-нибудь запустить открытый проект, посвященный спектрумовской графике, с рейтингами, авторами и юзерским контентом, но вряд ли это произойдёт раньше, чем через полгода-год.
Есть даже готовый фреймворк и огромное желание этим заниматься, но некоторые перспективный, но хлопотливые обстоятельства забирают сейчас 99% личного времени.
moroz1999
14.04.2009, 15:01
последний вариант палитры для unreal вот этот:
orthodox=00,76,CD,E9,FF,9F:D0,00,00;00,E4,00;00,00 ,FF
От той, которую постил в конце статьи pulsar, этот вариант отличается значениями матрицы пост-процессинга. Какие именно операции при этом пост-процессинге проводятся?
pulsar=00,76,CD,E9,FF,9F:FF,00,00;00,FF,00;00,00,F F
moroz1999
26.04.2009, 21:18
Попробовал поиграться с "кислотной" палитрой и пришел к выводу, что, независимо от её правильности или неправильности, на мой вкус она точнее передаёт ощущение от реальной машины.
вот только вопрос возник. в ini файле от unreal предлагается высчитывать RGB значения по следующей схеме:
; 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
вот только с этим маленькая загвоздка - при делении на 0x100 мы, например, никогда не получим #FF0000 для красного цвета, потому что результатом будет #FE0000, что и можно наблюдать, если померять результат со скриншота с Unreal. Так и должно быть, или это погрешность из-за ошибки?
А результат получился более чем любопытным. Я приложил для сравнения пару PNG с результатом.
Если кому-нибудь надо, я модифицирую класс-конвертер, чтобы задавать палитру в общепринятом формате.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot