на тему такой уж глобальности ошибки с ff|fe ^^^ (без "пипетки" кто-нибудь мне может сказать наверняка какая половинка картинки темнее? я нет! или у меня глаза кривые, или мон такой, на такую погрешность кладет, хз). на самом то деле конечно в формуле (зачем уж она составлена именно так как она уже долгие годы есть я не знаю, надо спрашивать автора -
smt...) просматривается системная ошибка ведь если к примеру взять:
Код:
color=(#ff*#80+#ff*#80+#ff*#80)/#100
получим: color=#17e, да, если кто читал конфиг анрила:
Код:
; note: emulator uses 8-bit precision for color components,
; 8-bit filters: use 6 bit precision (VGA palette limitation)
; overlay & hi-color: truncates results to 5 bit
; true color: no quality loss
берем младшие 8 бит (в лучшем случае). так что вместо #80, получаем #7e, что в принципе приводит к ошибке немного превышающий 1%("на глаз" ошибку уже видно - проведите эксперимент...), что на мой взгляд тоже не так страшно! ведь при составлении палитры скажем значение яркости имеет существенное значение только при изменении на 5-10%, к тому же ошибка почти глобальная и почти всегда приводит к простому декременту задуманного значения (хотя есть и исключения, смотри выше).
на всякий случай приведу нормальную формулу, "состряпал", ее быстро почти не проверяя, быть может
smt просто так же поступил? может где-то и ошибся... у меня получилось вот что:
Код:
color_x=(#ff*xr+#ff*xg+#ff*xb)/#2fd
тогда не придется даже выделять младшие 8 бит, тк больше 8 бит результат никогда не получится.
хочу однако предостеречь от холиваров! не знаю почему все так сделано в анриле! не знаю... да и это не столь существенно на мой взгляд! ведь в общем случае эта ошибка не превышает даже 1% и на глаз не заметна (смотри картинку выше). и еще, в том же спектакуляторе ярко белый это f8f8f8, во fuse ffffff, в анриле fefefe. так что все равно к общему знаменателю не придем. можете конечно проверять мою "правильную" формулу, если все правильно и есть уж очень большое желание можно попытаться попинать того кто сейчас клепает анрилы чтоб он это исправил, и скажем, в дальнейшем везде использовать эту формулу. но, имхо, ошибка такая старая и такая не значительная. не стал бы так беспокоиться.
истина ради истины... хотя конечно в последствии не стоит наверное наступать на теже грабли!!? правда еще раз повторюсь я хз зачем
smt написал формулу именно так, может это была не ошибка? хотя, все же, скорее всего ошибка...