Изменить яркость фонового изображения?

Мне интересно, можно ли изменить яркость:

 body{
 background-image:url();
 }

Использование HTML/CSS. Причина, по которой я хотел бы ее изменить, заключается в том, что я потратил довольно много времени на создание изображения, но когда я помещаю его на сайт, он внезапно становится вдвое ярче. Я сравнил исходный файл и файл, который вводится на веб-сайт, и они оба очень разные цвета синего.

Есть ли причина для этого, и есть ли способ изменить яркость?

Спасибо.

Ответ 1

Это будет вариант, но это не очень практично и не будет работать в старых браузерах:

body:after {
  content: "";
  position: fixed;
  top: 0; bottom: 0; left: 0; right: 0; 
  background: rgba(0,0,0,0.1);
  pointer-events: none;
}

Или для улучшения управления цветом, попробуйте hsla() цвета:

body:after {
  content: "";
  position: fixed;
  top: 0; bottom: 0; left: 0; right: 0; 
  background: hsla(180,0%,50%,0.25);
  pointer-events: none;
}

Действительно, лучше воспроизводить изображение в редакторе изображений, пока вы не получите нужный результат в браузере.

Ответ 2

background:linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), url(myimage.png);

Это поместит 50% белого поверх исходного изображения.

Необходимо использовать функцию линейного градиента, иначе она не работает.

Или вы можете использовать:

.someObj:after{ content:''; background:rgba(255,255,255,.5); .... }

и это лучше для удобства сопровождения кода.

Ответ 3

Нет никакого способа сделать это, что работает в каждом браузере, но если вы хотите, вы можете сделать это в браузерах webkit (Chrome, Safari, Opera), используя стиль filter:

img.lessBright {
    -webkit-filter: brightness(0.8);
    filter: brightness(0.8);
}

Это приводит к уменьшению яркости до 80% в браузерах webkit. Я рекомендую просто сохранить другую версию вашего изображения, если вы хотите сделать это, хотя.

Ответ 4

У меня была та же проблема, но это было с Gif.

Мое обходное решение:

Я сделал очень маленькое изображение черного квадрата в PowerPoint и установил его прозрачность на 50% и сохранил его как файл с названием "dimmerswitch.png"

Чем я назову это первым в коде:

body {
background-image:url("dimmerswitch.png"), url("YourImage.png");
}

Ответ 5

Обновление к другому ответу.

Вы также можете использовать фоновый фильтр для гораздо лучшего эффекта. Он может использовать любой filter, в данном случае, brightness filter.

Это означает, что ваш фон не будет размыт цветом сверху, скорее, он будет напрямую влиять на фон для более четкого и естественного вида при сохранении всех деталей.

Недостатком является то, что в настоящее время не поддерживается в Firefox, если не включены экспериментальные настройки. Но это должно скоро измениться, и на момент написания этого, Firefox занимает всего 6,5% рынка.

enter image description here

тем не менее, он полностью поддерживается в Chrome

body {
content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    backdrop-filter: brightness(120%);
    pointer-events: none;
}

Ответ 6

Вы просто делаете Photoshop для уменьшения яркости, если нет другого способа.