10-05-2011, 06:43 AM -
mitraleks Wrote:Я тут подумал в каком виде было бы удобно сделать:
1) MediaControl проверяет яркость фона рабочего стола под собой, ТОЛЬКО при смене обоев.
2) Яркость фона выразить по шкале от 0 до 100(только не по RGB, а по HSB(HSV)[точнее только по B-Brightness])
3) Я думаю лучше искать самый яркий пиксель и ориентироваться на его яркость, а не на среднюю яркость всего фона под MediaControl. Хотя тут лучше посмотреть как будет работать.
4) в ini файле скина сделать возможность добовления до 4-х фонов в зависимости от этого параметра.
Скажем так:
background_xx=main_xx.png
backgroundNoPlayer_xx=main_disable_xx.png
xx - значение яркости
background_20=main_20.png (Фон для яркости <= 20)
background_50=main_50.png (Фон для яркости <= 50)
background_80=main_80.png (Фон для яркости <= 80)
background=main_100.png (Фон для яркости <= 100) - то, что есть сейчас
5) пока надо посмотреть как будет без анимации переходов между фонами. Т.к в этом случае реакция на изменение обоев будет быстрее. Хотя конечно, если обои в Win7 меняются плавно, а фон скина будет меняться рывком, то будет выглядить не очень качественно.
А можно сделать так: не ограничивать число фонов, т.е. макс кол-во будет 101
Допустим яркость поменялась с 80 до 10 и в этом случае будут последовательно отображаться все промежуточные фоны между 80 и10, т.е мы получим смену фона для изменившейся яркости + анимацию, отображая промежуточные фоны.
Какие минусы: надо все изображения грузить в оперативную память при старте TLB, иначе потом будут притормаживания из-за считывания с жесткого диска(особенно большие, если жесткий диск перешел в энергосберегающий режим)[правда если с SSD, то это не важно].