CSSで画像の輝度を下げたい。何度も検索しましたが、不透明度を変更する方法しかありませんでしたが、画像が明るくなります。誰か私を助けてもらえますか?
filter
しますが、将来のために知っておきたい新しいCSS標準効果もあります。私の答えを見てください。
CSSで画像の輝度を下げたい。何度も検索しましたが、不透明度を変更する方法しかありませんでしたが、画像が明るくなります。誰か私を助けてもらえますか?
filter
しますが、将来のために知っておきたい新しいCSS標準効果もあります。私の答えを見てください。
回答:
あなたが探している機能はですfilter
。明るさなど、さまざまな画像効果を実行できます。
#myimage {
filter: brightness(50%);
}
ここで役立つ記事を見つけることができます:http : //www.html5rocks.com/en/tutorials/filters/understanding-css/
別の:http : //davidwalsh.name/css-filters
そして最も重要なのは、W3C仕様:https : //dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
これは、ごく最近になって機能としてCSSに導入されるものであることに注意してください。それは利用可能ですが、そこにブラウザの多数はまだそれをサポートしていないだろう、とサポートを行うものは、それはベンダープレフィックスを(すなわち必要となる-webkit-filter:
、-moz-filter
など)。
SVGを使用して、このようなフィルター効果を実行することもできます。これらの効果に対するSVGサポートは十分に確立され、広くサポートされています(CSSフィルター仕様は既存のSVG仕様から取得されています)
また、これはfilter
古いバージョンのIEで利用可能な独自のスタイルと混同しないように注意してください(ただし、新しいスタイルがベンダープレフィックスを削除すると、名前空間の競合の問題を予測できます)。
それでもopacity
うまくいかない場合は、既存の機能を使用できますが、あなたが考えている方法ではありません。濃い色で新しい要素を作成し、画像の上に配置し、を使用してフェードアウトしopacity
ます。効果は暗くされた背後の画像になります。
OPは輝度を上げたいのではなく下げたいのです。不透明度を設定すると、画像が暗くならずに明るくなります。
これを行うには、画像の上に黒いdivをオーバーレイし、そのdivの不透明度を設定します。
<style>
#container {
position: relative;
}
div.overlay {
opacity: .9;
background-color: black;
position: absolute;
left: 0; top: 0; height: 256px; width: 256px;
}
</style>
Normal:<br />
<img src="http://i.imgur.com/G8eyr.png">
<br />
Decreased brightness:<br />
<div id="container">
<div class="overlay"></div>
<img src="http://i.imgur.com/G8eyr.png">
</div>
つまり、画像の後ろに黒を配置し、不透明度を下げます。これを行うには、div内で画像をラップし、画像の不透明度を下げます。
例えば:
<!DOCTYPE html>
<style>
.img-wrap {
background: black;
display: inline-block;
line-height: 0;
}
.img-wrap > img {
opacity: 0.8;
}
</style>
<div class="img-wrap">
<img src="http://mikecane.files.wordpress.com/2007/03/kitten.jpg" />
</div>
こちらがJSFiddleです。
あなたは使うことができます:
filter: brightness(50%);
-webkit-filter: brightness(50%);
-moz-filter: brightness(50%);
-o-filter: brightness(50%);
-ms-filter: brightness(50%);
-o-
(Operaは現在Webkit / Blinkを使用しています)、2番目に、Firefoxが直接接頭辞なしにジャンプしましたfilter
。3番目に、順序が間違っています。 IEの構文-ms-filter
は異なります(progid:DXImageTransform
など)、5番目、Firefoxの構文は異なり、SVGが必要です(ドキュメントを参照)、6番目、ベンダーがアイデアの悪さを認識しているため、新機能にプレフィックスが付けられない可能性があります
CSS3を使用すると、画像を簡単に調整できます。ただし、これによってイメージが変わることはありません。調整された画像のみが表示されます。
詳細については、次のコードを参照してください。
画像を灰色にするには:
img {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
}
セピア調にするには:
img {
-webkit-filter: sepia(100%);
-moz-filter: sepia(100%);
}
明るさを調整するには:
img {
-webkit-filter: brightness(50%);
-moz-filter: brightness(50%);
}
コントラストを調整するには:
img {
-webkit-filter: contrast(200%);
-moz-filter: contrast(200%);
}
画像をぼかすには:
img {
-webkit-filter: blur(10px);
-moz-filter: blur(10px);
}
今日これを見つけました。それは本当に私を助けました。http://www.propra.nl/playground/css_filters/
これをCSSスタイルに追加するだけです:
div {-webkit-filter: brightness(57%)}
背景画像がある場合、これを行うことができます:背景画像にrgba()グラデーションを設定します。
.img_container {
float: left;
width: 300px;
height: 300px;
display: flex;
justify-content: center;
align-items: center;
border : 1px solid #fff;
}
.image_original {
background: url(https://i.ibb.co/GkDXWYW/demo-img.jpg);
}
.image_brighness {
background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), /* the gradient on top, adjust color and opacity to your taste */
url(https://i.ibb.co/GkDXWYW/demo-img.jpg);
}
.img_container p {
color: #fff;
font-size: 28px;
}
<div class="img_container image_original">
<p>normal</p>
</div>
<div class="img_container image_brighness ">
<p>less brightness</p>
</div>
以下のWebキットの例では、cssフィルターを使用できます。この例を見てください:http : //jsfiddle.net/m9sjdbx6/4/
img { -webkit-filter: brightness(0.2);}
-webkit-filter: brightness(0.50);
私はこのクールなソリューションを持っています: https : //jsfiddle.net/yLcd5z0h/
お気に入り
.classname
{
opacity: 0.5;
}