目次
背景
フィルター:ブラー()と変換:sacle()を使用して、画像のテーマカラーを取得します。
ホームページ ウェブフロントエンド CSSチュートリアル 知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)

知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)

Jun 03, 2021 am 11:13 AM
css css3 フロントエンド

この記事では、CSS を使用して画像のテーマカラーを取得するためのちょっとしたトリックを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)

背景

理由は、WeChat 技術グループのクラスメートが、写真のメインの色を取得する方法はないか、と尋ねたことです。画像があるので、そのメインカラーを取得します:

知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)

取得した色の値を使用して、次のような関数を実装します。コンテナーに画像があり、背景が必要です。 color 次のように、画像のメインの色に適合させることができます:

知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)

誰もがいくつかの提案をしており、計算に Canvas を使用するという意見や、特別なオープンソースを推奨する意見もあります。図書館、どれもとても良いものです。

では、この機能はCSSを使って実現できるのでしょうか?

少し空想のように聞こえますが、CSS でこの効果を実現できますか?そうですね、CSS を使用すると、確かに画像のメインカラーを賢い方法で近似させることができます。メインカラーの要件が特に厳密でない場合には、これが 1 つの方法です。一緒に調べてみましょう。

フィルター:ブラー()と変換:sacle()を使用して、画像のテーマカラーを取得します。

ここでは、ぼかしフィルターと拡大効果を使用して、画像のテーマカラーを取得します。おおよその結果 画像のテーマカラー。

次のような画像があるとします。

知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)

<div></div>
ログイン後にコピー

ぼかしフィルターを使用して、画像にぼかしフィルターを適用します。

div {
    background: url("https://i0.wp.com/airlinkalaska.com/wp-content/uploads//aurora-知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)?resize=1024%2C683&ssl=1");
    background-size: cover;
    filter: blur(50px);
}
ログイン後にコピー

効果を見てみましょう。比較的大きなぼかしフィルタを使用して、画像を blur(50px) にします。ぼやけた画像は少し似ていますが、エッジがぼやけています。overflow## を使用してみてください。 # トリミングします。

知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)

次に、ぼやけたエッジを削除し、

transform:scale() を使用して効果を拡大し、色の焦点を再設定し、変換する必要があります。次のコード:

div {
    position: relative;
    width: 320px;
    height: 200px;
    overflow: hidden;
}

div::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("https://i0.wp.com/airlinkalaska.com/wp-content/uploads//aurora-知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)?resize=1024%2C683&ssl=1");
    background-size: cover;
    // 核心代码:
    filter: blur(50px);
    transform: scale(3);
}
ログイン後にコピー
結果は次のようになります:

知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)

このようにして、CSS を使用して画像のメインカラーを取得し、効果はまだ良いです!

完全なコードについては、ここをクリックしてください:

CodePen デモ -- フィルターとスケールで画像のメインカラーを取得します

欠点

もちろん、この解決策にはいくつかの小さな問題もあります。

    は画像の主な色を大まかに取得することしかできませんが、それほど正確に取得することはできません。また、
  1. filter: Blur(50px) 50px 何らかのデバッグが必要です
  2. ぼかしフィルター自体がパフォーマンスを消費します。このメソッドで取得した背景がページ上に複数ある場合、パフォーマンスに一定の影響を与える可能性があります。実際に使用する場合は、いくつかのトレードオフが発生します。
最後に

# さて、この記事はここで終わります。CSS を使用して画像のテーマ カラーを取得するちょっとしたトリックを紹介します。役に立ちます:)

元のアドレス: https://segmentfault.com/a/1190000039979112

著者: chokcoco

その他のプログラミング関連の知識については、

プログラミング ビデオをご覧ください。 !

以上が知っておくべき画像のテーマカラーを取得するための CSS ヒント (共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue におけるプレースホルダーの意味 Vue におけるプレースホルダーの意味 May 07, 2024 am 09:57 AM

Vue におけるプレースホルダーの意味

vueでスペースを書く方法 vueでスペースを書く方法 Apr 30, 2024 am 05:42 AM

vueでスペースを書く方法

vueでdomを取得する方法 vueでdomを取得する方法 Apr 30, 2024 am 05:36 AM

vueでdomを取得する方法

jsでのスパンの意味は何ですか jsでのスパンの意味は何ですか May 06, 2024 am 11:42 AM

jsでのスパンの意味は何ですか

jsでレムは何を意味しますか jsでレムは何を意味しますか May 06, 2024 am 11:30 AM

jsでレムは何を意味しますか

vueに画像を導入する方法 vueに画像を導入する方法 May 02, 2024 pm 10:48 PM

vueに画像を導入する方法

スパンタグの機能とは何ですか スパンタグの機能とは何ですか Apr 30, 2024 pm 01:54 PM

スパンタグの機能とは何ですか

ブラウザのプラグインは何語で書かれていますか? ブラウザのプラグインは何語で書かれていますか? May 08, 2024 pm 09:36 PM

ブラウザのプラグインは何語で書かれていますか?

See all articles