背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ねたことから始まりました。写真があります。そのメインカラーを取得します。 取得した色の値を使用して、次のような関数を実装します。コンテナー内に画像があり、背景色を画像の主な色と一致させたい場合、次のようになります。 全員が提案してくれました。計算には Canvas を使うことを提案する人もいれば、専用のオープンソース ライブラリを推奨する人もいました。どちらも良かったです。 では、この機能は CSS を使用して実現できるのでしょうか? 夢物語のようです。CSS でこの効果を実現できるのでしょうか?えーと、CSS を使うと、確かに画像のおおよそのメインカラーを満足のいく形で得ることができます。メインカラーの要件が特に厳密でない場合は、これは良い方法です。一緒に見ていきましょう。 画像のテーマカラーを取得するには、filter: blur() と transform: sacle() を使用します。 ここでは、ぼかしフィルターと拡大効果を使用して、画像のテーマカラーを大まかに取得します。 次のような画像があるとします。 <div></div> 画像にぼかしフィルターを適用します。 div { 背景: url("https://i0.wp.com/airlinkalaska.com/wp-content/uploads//aurora-2.jpg?resize=1024%2C683&ssl=1"); 背景サイズ: カバー; フィルター: ぼかし(50px); } 効果を見てみましょう。比較的大きなぼかしフィルターを使用して、 次に、ぼやけたエッジを削除し、 div { 位置: 相対的; 幅: 320ピクセル; 高さ: 200px; オーバーフロー: 非表示; } div::before { コンテンツ: ""; 位置: 絶対; 上: 0; 左: 0; 右: 0; 下部: 0; 背景: url("https://i0.wp.com/airlinkalaska.com/wp-content/uploads//aurora-2.jpg?resize=1024%2C683&ssl=1"); 背景サイズ: カバー; // コアコード: フィルター: ぼかし(50px); 変換: スケール(3); } 結果は次のとおりです。 このように、CSS を使用して画像の主な色を取得すると、効果はかなり良好になります。 完全なコードはここにあります: CodePen デモ - フィルターとスケールで画像の主な色を取得します デメリットもちろん、この解決策にもいくつか小さな問題があります。 画像の主な色は大まかにしか取得できず、あまり正確ではありません。また、 やっとさて、今回の記事はここまでです。CSSを使って画像のテーマカラーを取得する裏技を紹介しました。参考になれば幸いです😃 この方法を提案してくれたYuewenの学生、XboxYanに感謝します。iCSS WeChatグループは非常に活発で、CSSの専門家が集まっています。技術について議論するためにグループに参加したい学生は、私のWeChat coco1sを追加できます(グループには200人以上がいるので、グループに参加するためにコードをスキャンすることはできません。招待することしかできません) 素晴らしい CSS 技術記事が私の Github -- iCSS に集められています。これらは継続的に更新されています。星をクリックして購読し、収集してください。 CSS を解析して画像のテーマカラーを抽出する方法についてはこれで終わりです。CSS による画像のテーマカラーの抽出についてさらに詳しく知りたい場合は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
>>: Web ページでの Unicode 文字の使用の概要 (&#、\u など)
会社から、負荷を実装するためにnginxをベースにFordプロジェクトのWebServiceサーバー...
エフェクトのスクリーンショット:実装コード:コードをコピーコードは次のとおりです。 <!DOC...
ダイナミックレム1. まず、現在の長さの単位を紹介しましょうpx em Mの幅 / 漢字の幅 1em...
私はグレースケールの画像の方が芸術的に見えると思うので、いつもグレースケールの画像を好んで使っていま...
序文MySQL データベースのデフォルトのデータベース ファイルは /var/lib/mysql に...
背景MySQL のデッドロックについて言えば、私は以前 MySQL のロックに関する基本的な紹介記事...
質問: 360ブラウザの互換モードなど、一部のブラウザでは、 <td style="...
1. 背景Youzan の各 OLTP データベース インスタンスには、実行時間が特定のしきい値を超...
ページめくりの問題のシナリオBとCは同じページ(表と裏)にありますページをめくって A をカバーした...
MySQL-8.0.22-winx64のデータベースインストールチュートリアルは参考になります。具体...
開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバイ...
iframe の使い方:コードをコピーコードは次のとおりです。 <DIV align=cent...
1. MySQL 8.0.12 バージョンのインストール手順。 1. ダウンロードhttps://d...
位置プロパティposition プロパティは、要素に使用する配置方法のタイプ (静的、相対的、固定、...
序文:テーブルをクリアしたいときは、truncate ステートメントをよく使用します。ほとんどの場合...