• HOME > 
  • CSS > 
  • CSSで写真をセピアに加工する方法【filterプロパティs...

CSSで写真をセピアに加工する方法【filterプロパティsepia】

投稿日:

このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。

カテゴリー記事のアイキャッチ画像

本記事は執筆時点(2025年01月06日)の情報をベースにしております。掲載している情報が最新ではない可能性がありますので何卒ご容赦ください。

広告
広告

CSSで写真をセピアに加工できる?

CSSのfilterプロパティのsepia()関数を使うと、画像をセピア色に変換できます。

画像編集ソフトを使うことなくCSSだけで写真に古写真のような効果を与えることができるので、レトロな雰囲気を出したいときに役立ちます。

filterプロパティのsepiaの例

filterプロパティとは?

CSSのfilterプロパティは、画像や要素に様々な視覚効果を加えることができるプロパティです。

セピア色への加工以外にも、ぼかしや、色調変更、明るさの調整など、画像編集ソフトで加工するような処理をCSSだけで簡単に実装できるのが特徴です。

filterプロパティならびに他の関数についてはこちらのページにまとめています。

filter:sepiaの使い方

filterプロパティのsepia()関数は以下のように記述して使います。

filterプロパティのsepiaの書き方

下の例では画像にセピア50%を適用しています。

HTML

<img src="https://web.skipjack.tokyo/wp-content/uploads/css/filter-sepia/sample1.png" class="myFilter sepia50">

CSS

img.myFilter.sepia50{
    filter: sepia(50%);
}
filterプロパティのsepia50%の例

パーセンテージによる表示結果の違い

sepiaは100%~0%の間で指定します。大きくするほどセピア色は濃くなり、反対に0%で元の画像そのものになります。

パーセンテージによる表示結果の違いの例は下図の通りです。

filterプロパティのsepiaのパーセンテージによる表示結果

セピア色への変化をアニメーションさせる

filterプロパティの利点のひとつとして、transitionやanimationプロパティと組み合わせることで効果をアニメーションで見せることができるという点が挙げられます。

下図のような写真が徐々にセピア色へ移り変わるようなアニメーションは、CSSだけであっという間に実装できます。

今回作成したコードは以下の通りです。

CSS

img.myFilter.sepia-anime{
    animation: sepiaAnime 5s infinite;
}
@keyframes sepiaAnime{
    0%{
        filter:sepia(0%);
    }
    50%{
        filter: sepia(100%);
    }
    100%{
        filter: sepia(0%);
    }
}

2行目animationプロパティを使ってアニメーションを設定します。(今回は例としてアニメーションがわかりやすいようにinfiniteを指定してアニメーションが繰り返されるようにしています)

4行目@keyframesでアニメーションの動きを設定します。

5行目~元の画像がセピア色へと変化し、再び元の状態へ戻るように指定しました。

animationプロパティの使い方について詳しくはこちらのページにまとめています。

まとめ

以上が、filterプロパティのsepia()関数を使ってCSSだけで写真をセピア加工する方法です。

画像編集ソフトいらずで手軽に写真に効果与えられるので表現の幅が広がりそうですね。

広告
広告

関連する記事

サムネイル

CSS内で独自の変数を定義・参照する方法【カスタムプロパティ……

2025年02月06日
今更ながらCSSで変数を使えることを知ったので、今回はカスタムプロパティの使い方について備忘録としてまとめてみます。 CSSのカスタムプロパティとは? CSSの […]
サムネイル

CSSのcounter関数でカウントを行って連番を表示する

2025年02月06日
最近になって、contentプロパティのcounter関数を使えばCSSだけで要素をカウントして連番を表示できることを知りました。本記事ではcounter関数の […]
サムネイル

CSSのattr関数でHTMLの属性値を取得・表示する【ツー……

2025年02月06日
最近になって疑似要素で使うことができるCSSのattr関数の存在を知りました。コーディングの幅を広げる便利な関数だと感じましたので学んだ内容を備忘録としてまとめ […]
サムネイル

CSSのoutlineプロパティの使い方【borderとの違……

2025年02月06日
CSSのoutlineプロパティについて学び直す機会がありましたので、borderとの使い分けを含めて備忘録としてまとめます。 outlineプロパティとは? […]
サムネイル

CSSでPNG画像に影を落とす方法【filterプロパティd……

2025年01月15日
CSSでドロップシャドウをつけるには? CSSで要素に影(ドロップシャドウ)を付ける手段としては「box-shadow」や「text-shadow(テキストの場 […]
サムネイル

CSSのfilterプロパティの関数の種類と効果をまとめ【フ……

2025年01月06日
最終更新日:2025年01月15日
IEのサポートが終了したので、これまで使う機会の少なかったfilterプロパティを改めて調べたところ、CSSでの表現の幅を広げてくれる画期的なプロパティだと気づ […]
サムネイル

CSSで写真にぼかし加工を加える方法【filterプロパティ……

2025年01月06日
CSSだけで写真をぼかせる? CSSのfilterプロパティのblur()関数を使うと、画像(要素)にぼかしを加えることができます。 画像編集ソフトを使うことな […]