Почему браузеры по -разному отображают RGBA на OSX?
-
27-10-2019 - |
Вопрос
Я пытался кодировать какой -то код манипуляции с цветом и долго застрял с Alpha, затем я (2 часа спустя) понял, что браузеры по -разному отображают RGBA.
Я создал этот тест: http://jsbin.com/adekez/2/Добавить /редактировать, чтобы посмотреть на код
Вот результаты в 4 браузерах в OSX Lion: http://imgur.com/g2iqu
Это элемент с фоном RGBA (0,0,0,0,5) поверх белого.
Мой шестигранный калькулятор говорит: ff ÷ 2 = 7f.8, что означает
Safari на #808080 является правильным Firefox на #7F7F7F выключен на 1 Opera на #7E7E7E выключен на 2 Chrome на #929292.
Что здесь происходит, это ошибка в Chrome или я просто не знаю о цветах (правда)?
Решение
Прежде всего
Ну, на самом деле сафари а также Firefox оба верны:0xFF = 255
, 255 / 2 = 127.5
. Анкет Так 128
может быть правильным (0x80
), но и 127
(0x7F
) - в зависимости от соглашения об округлете браузера.
Объяснение вопроса
Это проблемы округления. Я не совсем понимаю Почему Существуют проблемы с округлением, так как 0,5 представлен в бинарных числах без потерь точности, но на самом деле есть проблемы с округлением:
Опера:
Хром:
Другие советы
Когда я зарегистрировался в Chrome & Safari, но я получил точно такой же цвет RGBA #808080 в обоих. Дайте нам знать, какую версию браузера вы используете.