検索

CSS では、filter 属性を使用して画像の色を変更できます。画像要素に「filter: style value」スタイルを設定するだけです。 filter 属性は、要素の視覚効果 (ぼかしや彩度など) を定義する、オブジェクトに適用されるフィルター効果を設定または取得します。

CSSで画像の色を変える方法

このチュートリアルの動作環境: Windows 7 システム、CSS3&&HTML5 バージョン、Dell G3 コンピューター。

写真の処理というと、PhotoShop などの画像処理ツールをよく思い浮かべます。フロントエンド開発者として、さまざまな状態に応じてアイコンにさまざまな色を表示させるなど、いくつかの特殊効果に対処する必要があることがよくあります。または、ホバリング時に画像のコントラストと影を処理します。

これらは PS ソフトウェアによって処理されると思いますか?いいえ、いいえ、これは純粋に CSS で書かれており、非常に魔法です。

強力な CSS:filter

CSS フィルター (フィルター) は、要素のぼかし、シャープ化、変色などのグラフィック特殊効果を提供します。フィルターは、画像、背景、境界線のレンダリングを調整するためによく使用されます。 MDN

CSS 標準には、事前定義された効果を実装した関数がいくつか含まれています。

filter: none        
    | blur() 
    | brightness() 
    | contrast() 
    | drop-shadow() 
    | grayscale() 
    | hue-rotate() 
    | invert() 
    | opacity() 
    | saturate() 
    | sepia() 
    | url();
<!--html-->
<img src="/static/imghwm/default1.png"  data-src="https://note.youdao.com/yws/res/237/WEBRESOURCE7e77df2551fe1a1db1b9d91f4d518917"  class="lazy"   alt="原图">

filter: none

は効果がありません。デフォルトのフィルターは noneです。

filter:blur( ) ガウスぼかし

画像にガウスぼかし効果を与えます。長さの値が大きいほど、画像がぼやけます。

試してみましょう

img {
    filter:blur(2px);;
}

##明るさ(%)線形乗算

画像を明るくしたり暗くしたりできます

img {
    filter:brightness(70%);
}

##contrast(%) Contrast

画像のコントラストを調整します。

img {
    filter:contrast(50%);
}

drop-shadow(h-shadow v-shadow ブラースプレッドカラー)

画像に影効果を設定します。シャドウは画像の下に合成され、特定の色でペイントできるマットのぼかしたオフセット バージョンにすることができます。この関数は、「inset」キーワードが許可されていないことを除き、タイプ (CSS3 コンテキストで定義) の値を受け入れます。この関数は、既存の box-shadow box-shadow プロパティに非常に似ています。違いは、一部のブラウザでは、フィルターを使用してパフォーマンスを向上させるためにハードウェア アクセラレーションが提供されることです。

このソリューションを使用すると、実際に次の色を変更します。黒いアイコンが青いアイコンに変わるなど、一部のアイコン。

PNG形式の小さなアイコンへのCSS任意色着色技術

img {
    filter: drop-shadow(705px 0 0 #ccc);
}

ここでは、同じサイズの灰色の領域を形成するように画像を投影します。

hue-rotate(deg) 色相回転

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

ほら、妹がアバターになったよ!

invert(%) 反転

この関数の機能は、露出の効果と少し似た、入力画像を反転することです

img {
    filter:invert(100%)
}

grayscale(%) 画像をグレースケール画像に変換します

この効果により、画像が古びて見え、時代の移り変わりを感じさせることができます。古代スタイルが好きな人は間違いなくこのエフェクトを気に入るはずです。

こんな感じで設定できます

img {
    filter:grayscale(80%);
}

セピア(%)画像をこげ茶色に変換

妹にあげよう温かみのある色合い。

*{
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
}

これに url() メソッドを書いていないことに気づきましたか?

はい、そうしたいからです。 filter:url() は、CSS フィルターを使用して画像を変更する究極の方法です。 CSS:filter は、svg フィルターを独自のフィルターとしてインポートできます。

究極の変色ソリューション! filter:url();

なぜ filter:url() が画像変色に対する究極の解決策なのか? ゆっくり説明させてください。

我们先科普一下PS的工作原理,我们都知道网页是有三原色的R(红) G(绿) B(蓝),常见的RGBA还包括一个opicity值,而opcity值是根据alpha通道计算出来的。也就是说,我们见到的网页的每一个像素点都是由红蓝绿再加alpha四个通道组成,每一个通道我们称之为色板,PS中的8位板的意思就是2的八次方256,意思就是每一个通道的取值范围都是(0-255) SVG 研究之路 (11) - filter:feColorMatrix

如果我们可以改变每个通道的值是不是就能完美的得到我们想要的任意颜色了呢,原理上,我们可以像ps那样利用svg滤镜得到任何我们想要的图像,不仅仅是变色。我们甚至可以凭空生成一幅图像。

svg feColorMatrix大法好

<svg height="0" xmlns="http://www.w3.org/2000/svg">
    <defs>
        <filter id="change">
                <feColorMatrix type="matrix" values="
                0 0 0 0 0.55
                0 0 0 0 0.23 
                0 0 0 0 0 
                0 0 0 0 1" />
        </filter>
    </defs>
</svg>
<img src="/static/imghwm/default1.png"  data-src="https://note.youdao.com/yws/res/237/WEBRESOURCE7e77df2551fe1a1db1b9d91f4d518917"  class="lazy"   alt="">
img {
    filter:url(#change);
}

通过单通道我们可以将图片变成单一的颜色 

<svg    style="max-width:90%" xmlns="http://www.w3.org/2000/svg">
    <defs>
        <filter id="change">
               <feColorMatrix values="3 -1 -1 0 0
                       -1 3 -1 0 0
                       -1 -1 3 0 0
                       0 0 0 1 0" />
        </filter>
    </defs>
</svg>

通过双通道我们可以的到一些非常炫酷的PS效果

当然,在这里,只是举个例子,通过配置矩阵中的值,我们可以配置每一个像素点的值按照我们定义的规则显示

我们在这里详细讲一下feColorMatrix 矩阵的计算方式

其中Rin Gi

n Bin a(alpha) 为原始图片中每个像素点的rgba值

通过矩阵计算,得到的Rout Gout Bout Aout就是最终显示出来的rgba值。

将图片转为单色 拿棕色rgba(140,59,0,1)作为例子

根据上面的公式,我们可以简化一些计算,同一行中,只设置一个通道的值,其他通道为0

不难得出矩阵

0 0 0 0 目标值R
0 0 0 0 目标值G
0 0 0 0 目标值B
0 0 0 0 1

根据规则,只需要计算,255/想要显示的颜色对应通道 = 目标值

我们想要的棕色rgba(140,59,0,1) 换算成色板 rgba 为 140 59 0 255

可以算出目标值

0 0 0 0 0.55
0 0 0 0 0.23
0 0 0 0 0 
0 0 0 0 1

总结

  • css3提供了filter这个属性,使得通过前端技术实现更多炫酷的特效成为了可能
  • 依赖于svg的滤镜,我们可以实现复杂的滤镜效果

注意

  • css:filter与ie上的filter并不是相同的概念
  • css:filter在不同的浏览器上兼容性不一样,您在使用的时候需要注意浏览器的兼容性 

推荐学习:css视频教程

以上がCSSで画像の色を変える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Google Fontsをタグ付けし、Goofonts.comを作成する方法Google Fontsをタグ付けし、Goofonts.comを作成する方法Apr 12, 2025 pm 12:02 PM

Goofontsは、開発者妻とデザイナーの夫によって署名されたサイドプロジェクトであり、どちらもタイポグラフィの大ファンです。 Googleにタグを付けています

時代を超越したWeb開発記事時代を超越したWeb開発記事Apr 12, 2025 am 11:44 AM

Pavithra Kodmadは、彼らが変化したWeb開発に関する最も時代を超越した記事のいくつかであると考えていることについて、人々に推奨事項を求めました

セクション要素との取引セクション要素との取引Apr 12, 2025 am 11:39 AM

2つの記事がまったく同じ日に公開されました。

graphQlの練習JavaScript APIでクエリをクエリしますgraphQlの練習JavaScript APIでクエリをクエリしますApr 12, 2025 am 11:33 AM

GraphQL APIの構築方法を学ぶことは非常に挑戦的です。ただし、10分でGraphQL APIを使用する方法を学ぶことができます!そして、それは私が完璧になったことがあります

コンポーネントレベルのCMSコンポーネントレベルのCMSApr 12, 2025 am 11:09 AM

コンポーネントがデータが近くに住んでいる環境に住んでいる場合、視覚コンポーネントと

円にタイプを設定します...オフセットパス付き円にタイプを設定します...オフセットパス付きApr 12, 2025 am 11:00 AM

ここでは、Yuanchuanからの合法的なCSSの策略があります。このCSSプロパティオフセットパスがあります。むかしむかし、それはモーションパスと呼ばれ、その後改名されました。私

CSSで「戻る」ことは何をしますか?CSSで「戻る」ことは何をしますか?Apr 12, 2025 am 10:59 AM

Miriam Suzanneは、このテーマに関するMozilla開発者のビデオで説明しています。

現代の恋人現代の恋人Apr 12, 2025 am 10:58 AM

私はこのようなものが大好きです。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 Mac版

SublimeText3 Mac版

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

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境