MediaWiki:Common.js: различия между версиями

мНет описания правки
Отмена правки 51930, сделанной Pok (обсуждение)
Строка 306: Строка 306:
     var brightness = getBrightness(r, g, b);
     var brightness = getBrightness(r, g, b);


    // Динамическое определение фактора, если он не задан
     if (factor === undefined) {
     if (factor === undefined) {
         if (brightness < 35) {
         if (brightness < 35) {
Строка 323: Строка 322:
     }
     }


     // Применение осветления только к менее ярким компонентам
     r = Math.min(255, Math.floor(r * factor));
    function brightenComponent(component, brightnessFactor) {
     g = Math.min(255, Math.floor(g * factor));
        return Math.min(255, Math.floor(component + (255 - component) * (brightnessFactor - 1) * (1 - brightness / 255)));
     b = Math.min(255, Math.floor(b * factor));
     }
 
    r = brightenComponent(r, factor);
    g = brightenComponent(g, factor);
     b = brightenComponent(b, factor);


     return a < 1 ? 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')' : 'rgb(' + r + ', ' + g + ', ' + b + ')';
     return a < 1 ? 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')' : 'rgb(' + r + ', ' + g + ', ' + b + ')';