〈PR〉プロが選ぶ!2023年最新!おすすめプログラミングスクール比較ガイド

【CSS】filterプロバティでおしゃれな画像を作ろう!初心者向けの使い方と活用事例

CSSfilterプロバティを使えば、画像におしゃれな効果を簡単に追加することができます。

画像の色や明暗を変えたり、ネガポジ反転をしたり、CSSフィルターには様々な効果があります。
本記事では、実装方法を詳しく解説します。

CSS filterの基本と使い方

CSS filterは、画像や要素に対してビジュアル効果を追加するために使用されるCSSプロパティです。以下は、基本的な使い方とフィルターの種類です。

CSS filterの基本的な使い方

.selector {
  filter: <filter-function>;
}

上記の例では、.selectorに適用されるフィルターの種類を指定するためにfilterプロパティを使用しています。<filter-function>には、使用するフィルターの種類とそのパラメータを指定します。

フィルターの種類

blur

要素をぼかす効果を与えます。<blur-radius>パラメータでぼかしの程度を指定します。

.selector {
  filter: blur(<blur-radius>);
}

brightness

要素の明るさを調整します。<percentage>パラメータで調整の度合いを指定します。

.selector {
  filter: brightness(<percentage>);
}

contrast

要素のコントラストを調整します。<percentage>パラメータで調整の度合いを指定します。

.selector {
  filter: contrast(<percentage>);
}

grayscale

要素をグレースケールに変換します。<percentage>パラメータでグレースケール化の度合いを指定します。

.selector {
  filter: grayscale(<percentage>);
}

hue-rotate

要素の色相を回転します。<angle>パラメータで回転角度を指定します。

.selector {
  filter: hue-rotate(<angle>);
}

invert

要素を反転します。<percentage>パラメータで反転の度合いを指定します。

.selector {
  filter: invert(<percentage>);
}

opacity

要素の透明度を調整します。<percentage>パラメータで調整の度合いを指定します。

.selector {
  filter: opacity(<percentage>);
}

saturate

要素の彩度を調整します。<percentage>パラメータで調整の度合いを指定します。

.selector {
  filter: saturate(<percentage>);
}

sepia

要素をセピア調に変換します。<percentage>パラメータでセピア調の度合いを指定します。

.selector {
  filter: sepia(<percentage>);
}

drop-shadow

要素に影を付けます。<x-offset><y-offset>で影の位置を指定し、<blur-radius>で影のぼかしの程度を指定します。<color>は影の色を指定します。

.selector {
  filter: drop-shadow(<x-offset> <y-offset> <blur-radius> <color>);
}

色の変更に使えるCSS filterプロパティ

CSS filterプロパティは、カラーフィルターを使用して要素の色を変更することもできます。以下は、色の変更に使用できるフィルターの例です。

grayscale

grayscale()フィルターは、要素をグレースケールに変換します。引数には、0から100のパーセンテージで、変換後のグレースケールの濃さを指定します。0の場合、完全にカラフルなままであり、100の場合、完全なグレースケールに変換されます。

.selector {
  filter: grayscale(100%);
}

brightnessプロパティを使った色の変更方法の解説

brightness プロパティを使用すると、RGBカラーモデルで表される色の明るさを調整することができます。 brightness プロパティの値は、0から1の範囲内の数値で指定します。

以下は、brightnessプロパティを使用して色を変更する方法の例です。

RGB値を使用する場合

/* 元の色 */
background-color: rgb(255, 0, 0); /* 赤 */

/* 明るさを半分にする */
background-color: rgb(127, 0, 0); /* 暗い赤 */

/* 明るさを2倍にする */
background-color: rgb(510, 0, 0); /* 明るい赤 */

HSL値を使用する場合

/* 元の色 */
background-color: hsl(0, 100%, 50%); /* 赤 */

/* 明るさを半分にする */
background-color: hsl(0, 100%, 25%); /* 暗い赤 */

/* 明るさを2倍にする */
background-color: hsl(0, 100%, 100%); /* 明るい赤 */

上記の例では、元の色が赤であると仮定しています。brightnessプロパティの値を1未満にすると、色が暗くなります。値を1より大きくすると、色が明るくなります。

RGB値を使用する場合、各色の値を単純に増減させるだけでよいです。HSL値を使用する場合、明度の値を増減させます。

複数のCSS filterプロパティを組み合わせた画像の加工方法

CSS filterプロパティは、画像の色合いや明るさを変更するために使用される機能です。異なるフィルターを組み合わせることで、より複雑な画像加工を行うことができます。

以下は、異なるCSS filterプロパティを組み合わせた画像の加工方法の例です。

/* 元の画像 */
img {
  filter: none;
}

/* グレースケールフィルターと明度を下げるフィルターを組み合わせる */
img {
  filter: grayscale(100%) brightness(50%);
}

/* セピア調に変換する */
img {
  filter: sepia(100%);
}

/* ネガポジ反転させる */
img {
  filter: invert(100%);
}

/* ぼかしフィルターと色相を反転させるフィルターを組み合わせる */
img {
  filter: blur(5px) hue-rotate(180deg);
}

上記の例では、グレースケールフィルターと明度を下げるフィルターを組み合わせて、画像を暗くしたり、セピア調やネガポジ反転に変換したり、ぼかしフィルターと色相を反転させるフィルターを組み合わせて、アーティスティックな効果を追加することができます。

CSS filterプロパティは、他のCSSプロパティと同様に、複数の値を一度に適用することができます。複数のフィルターを組み合わせることで、より複雑な画像加工を実現できます。

背景だけにCSS filterを適用する方法

CSS filterプロパティは、HTML要素全体に適用されますが、背景にのみ適用する方法もあります。
以下は、背景にCSS filterプロパティを適用する方法の例です。

/* 背景画像を指定する */
body {
  background-image: url('background.jpg');
}

/* 背景にグレースケールフィルターを適用する */
body:before {
  content: "";
  display: block;
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('background.jpg');
  filter: grayscale(100%);
}

上記の例では、body要素に背景画像を指定し、背景にグレースケールフィルターを適用する方法を示しています。
背景画像を含む疑似要素(::before)を作成し、その要素にCSS filterプロパティを適用します。疑似要素の位置は固定され、body要素の下に配置されるため、背景にフィルターを適用することができます。

この方法を使用する場合、背景画像が画像ファイルである必要があります。CSSで指定した背景色に対しては、フィルターを適用することはできません。また、この方法を使用する場合、疑似要素を使用するために、body要素にposition: relative;が指定されていない場合、うまく機能しない可能性があります。

CSS filterを使って背景色を変更する方法

CSS filterプロパティを使用して背景色を変更することはできませんが、背景にグラデーションを使用してフィルター効果を再現することができます。以下は、CSSグラデーションを使用して背景色を変更する方法の例です。

/* 背景にCSSグラデーションを適用する */
body {
  background: linear-gradient(rgba(255, 0, 0, 0.5), rgba(255, 0, 0, 0.5)), url('background.jpg');
  background-blend-mode: overlay;
}

上記の例では、背景にCSSグラデーションを適用し、グラデーションに透明度を設定して、フィルター効果を再現しています。backgroundプロパティには、先頭にグラデーション、その後に背景画像を指定します。background-blend-modeプロパティを使用することで、グラデーションと背景画像をオーバーレイしてブレンドします。

上記の例では、背景を赤色に変更するために、グラデーションの色を赤色に設定していますが、他の色に変更することもできます。また、背景画像の代わりに、背景色を指定することもできます。背景色を指定する場合は、グラデーションの代わりに、背景色を直接指定します。ただし、グラデーションを使用する場合のほうが、より豊かな背景を作成することができます。

CSS filterを使って背景画像に効果を加える方法

CSS filterプロパティを使用して、背景画像に効果を加えることができます。以下は、CSS filterプロパティを使用して背景画像に効果を加える方法の例です。

/* 背景画像にセピアフィルターを適用する */
body {
  background-image: url('background.jpg');
  filter: sepia(50%);
}

上記の例では、body要素に背景画像を指定し、その背景画像にセピアフィルターを適用しています。filterプロパティにセピアフィルターを指定し、適用するレベルをパーセンテージで指定します。セピアフィルター以外にも、他のフィルター効果を使用することができます。

また、CSS filterプロパティは、CSSの要素全体に適用されるため、背景画像に適用する場合は、その要素に背景画像を指定する必要があります。この方法を使用する場合、背景画像が画像ファイルである必要があります。また、背景画像の色が変更されるため、適用するフィルターのレベルを調整することで、望む背景色を作成することができます。

CSS filterジェネレーターの活用方法

CSS filterジェネレーターは、フィルター効果を簡単に生成するためのツールで、CSS filterプロパティの値を手動で設定する必要がなくなります。以下は、CSS filterジェネレーターの活用方法の例です。

フィルターの種類を選択する

CSS filterジェネレーターには、さまざまなフィルターの種類が用意されています。たとえば、セピアフィルター、グレースケールフィルター、ぼかしフィルター、反転フィルターなどがあります。必要なフィルターの種類を選択します。

フィルターのレベルを調整する

フィルターの種類を選択したら、そのレベルを調整する必要があります。レベルを調整することで、フィルターの強度を調整することができます。たとえば、セピアフィルターのレベルを上げると、画像が茶色くなります。反転フィルターのレベルを上げると、画像が色反転します。

フィルターのプレビューを確認する

フィルターの種類とレベルを調整したら、フィルターのプレビューを確認することができます。プレビューを確認することで、フィルターの効果を確認し、必要な場合には再調整することができます。

CSSコードをコピーする

最後に、生成されたフィルターのCSSコードをコピーし、必要な場所に貼り付けます。この方法を使用することで、手動でフィルターのCSSコードを記述する必要がなくなります。

CSS filterジェネレーターは、フィルター効果を生成するだけでなく、フィルターのカスタマイズや調整も簡単に行うことができます。フィルター効果を使用して、Webサイトのデザインを改善することができます。
以下におすすめのサイトのリンクを掲載しておきます。

invertフィルターの使い方と効果

invertフィルターは、画像の色を反転するために使用されるCSS filterプロパティの1つです。具体的には、画像の色相、彩度、明度のすべてを反転させ、ネガティブなイメージのような効果を生成します。

以下は、invertフィルターを使用して画像を反転するためのCSSコードの例です。

img {
  filter: invert(100%);
}

上記のコードでは、画像要素に対して、100%の反転フィルターを適用しています。このフィルターは、画像の色相、彩度、明度を完全に反転させ、完全に反転した画像が表示されます。

また、invertフィルターは、値を0%から100%まで指定することができます。値が小さいほど、画像の色が少し薄くなり、値が大きいほど、色が完全に反転します。たとえば、以下のコードでは、50%の反転フィルターを使用しています。

img {
  filter: invert(50%);
}

この場合、画像の色は50%反転され、画像が半透明になります。

invertフィルターは、CSS filterプロパティの中でも比較的シンプルであり、適用することで簡単に効果を得ることができます。画像やWebサイトのデザインにおいて、興味深い効果を与えたい場合に使用することができます。

CSS filterを使ったネガポジ反転の実現方法

CSS filterを使用して画像のネガポジ反転を実現するには、invertフィルターを使用します。具体的には、以下のように記述します。

img {
  filter: invert(100%);
}

上記のCSSコードは、画像要素に対して、100%の反転フィルターを適用しています。これにより、画像の色相、彩度、明度のすべてが反転し、ネガティブなイメージのような効果を生成します。

ただし、invertフィルターは、画像全体に対して反転を行うため、背景などの他の要素にも反転が適用されてしまう場合があります。そのため、反転を行いたい要素以外には、透明度を0に設定するなどの工夫が必要です。

また、ネガポジ反転の代替として、brightnessフィルターを使用して、明度を反転させることもできます。以下は、明度を反転させるためのCSSコードの例です。

img {
  filter: brightness(0%);
}

このコードは、画像要素に対して、0%の明度フィルターを適用しています。これにより、画像の明度が反転し、ネガポジ反転の効果が得られます。

invertフィルターを使った画像の加工例の紹介

invertフィルターは、画像をネガポジ反転することができるCSS filterプロパティの1つです。以下に、invertフィルターを使用した画像の加工例を紹介します。

元画像

まず、ネガポジ反転を行う前の元画像を示します。以下の画像は、風景写真の元画像です。

ネガポジ反転

次に、invertフィルターを使用して、元画像をネガポジ反転した画像を示します。以下のCSSコードを使用して、画像に100%のinvertフィルターを適用しています。

img {
  filter: invert(100%);
}

ネガポジ反転によって、元画像とは異なる印象を与えることができます。

透明度の設定

ネガポジ反転を適用することで、背景色などの他の要素にも反転が適用されてしまう場合があります。そのため、ネガポジ反転を適用する要素以外には、透明度を設定する必要があります。

以下のCSSコードを使用して、画像に100%のinvertフィルターを適用し、背景色を透明にしています。

img {
  filter: invert(100%);
   opacity:70%;
}

透明度を設定することで、背景色にも反転が適用されず、より見やすい画像を作ることができます。
以上が、invertフィルターを使用した画像の加工例です。このように、CSS filterを活用することで、簡単に画像の加工を行うことができます。

画像の色を変えるCSSフィルターの種類と効果

CSSフィルターには、色を変えるためのフィルターがいくつかあります。以下に、代表的なものを紹介します。

hue-rotate

hue-rotateフィルターは、色相を回転させることができます。0deg〜360degの範囲で指定できます。

img {
  filter: hue-rotate(180deg);
}

saturate

saturateフィルターは、彩度を変えることができます。0〜100%の範囲で指定できます。

img {
  filter: saturate(50%);
}

grayscale

grayscaleフィルターは、画像をグレースケールに変換します。0〜100%の範囲で指定できます。

img {
  filter: grayscale(100%);
}

sepia

sepiaフィルターは、画像をセピア色に変換します。0〜100%の範囲で指定できます。

img {
  filter: sepia(100%);
}

invert

invertフィルターは、画像をネガポジ反転させます。

img {
  filter: invert(100%);
}

opacity

opacityフィルターは、画像の透明度を変えます。0〜100%の範囲で指定できます。

img {
  filter: opacity(50%);
}

以上が、色を変えるための代表的なCSSフィルターです。これらのフィルターを組み合わせることで、様々な画像加工を行うことができます。

CSS filterのおさらい

CSS filterを使った画像加工の実例を紹介しました。さまざまなfilterを使って、
「色相を回転」「彩度を反転」「画像をセピア色」「ネガポジ反転」「画像の透明度」などが出来ますので、

自分だけのオリジナルな画像を作ってみてください。簡単に実装できるので、ぜひチャレンジしてみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です