agrigio / ebookdroid

Automatically exported from code.google.com/p/ebookdroid
0 stars 0 forks source link

Enhancement: регулировка яркости в ночном режиме #5

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Регулировка яркости в ночном режиме

Original issue reported on code.google.com by mindphaser2k6 on 4 Aug 2011 at 8:28

GoogleCodeExporter commented 8 years ago
Например. Задаем в настройках яркость 0x33 
или 1/5 от полной яркости (лучше ползунком в 
быстром меню), дальше при рендеринге 
страницы делается умножение яркости всех 
нечерных пикселей на странице на это 
значение (1/5).
Например, пиксель 0xffffff становится 0x333333. 
Пиксель 0x80ff2c должен стать 0x193308.

Original comment by mindphaser2k6 on 4 Aug 2011 at 8:56

GoogleCodeExporter commented 8 years ago
Попробовать сделать можно, но не будет ли 
тормозить? И так сейчас ночной режим 
замедляет рендеринг.

Original comment by Andrei.K...@gmail.com on 5 Aug 2011 at 7:12

GoogleCodeExporter commented 8 years ago
Чтобы не тормозило, можно попробовать 
проще: только ограничить макс. яркость 
пикселей заданным значением. Т.е. если 
яркость пиксела < заданного, ничего не 
делать, если яркость выше, то использовать 
предельное значение. Пример: пиксель 0xffffff 
становится 0x333333, пиксель 0x80ff2c становится 
0x33332с. Тогда цвета будут искажаться, но 
поскольку в ночном режиме в основном все 
черно-белое, это наверное не критично.
Также хотелось бы аналогично ограничить 
яркость заголовка.
Также если яркость на максимуме или 
регулировка яркости отключена, то никаких 
вычислений не выполнять.

Этот request связан с тем, что на ряде 
телефонов аппаратная регулировка яркости 
даже на минимуме оказывается слишком 
высокой.
Поэтому некоторые программы, в частности 
CoolReader и ScreenFilter, насколько я понимаю, делают 
доп. программную фильтрацию цветов.
Кстати можно посмотреть, как работает 
ScreenFilter. Он не тормозит, но запускать его 
каждый раз перед запуском ридера неудобно.
Прикладываю в аттаче исходную и 
декомпилированную версию.

Original comment by mindphaser2k6 on 5 Aug 2011 at 7:36

GoogleCodeExporter commented 8 years ago
Думаю, что способ работы Screen Filter будет 
проще всего.
Для этого можно создать полупрозрачное full 
screen activity, пропускающее события тача.
http://stackoverflow.com/questions/4286075/brightness-screen-filter

Original comment by mindphaser2k6 on 5 Aug 2011 at 8:42

GoogleCodeExporter commented 8 years ago
Имплементировано

Original comment by Andrei.K...@gmail.com on 11 Aug 2011 at 1:49

GoogleCodeExporter commented 8 years ago

Original comment by Alexander.V.Kasatkin@gmail.com on 20 Mar 2012 at 5:45