青い看板と透明な背景で構成されるアイコンを表す画像がいくつかあります。私は、CSSを使用してそれらを表示:https://cdn2.iconfinder.com/data/icons/large-svg-icons-part-3/512/zoom_search_find_magnifying_glass-256.pngCSSで画像(アイコン)の色を変更するには
私は青い使用してCSSの色を変更できるようにしたい:
.icon {
background: rgba(0, 0, 0, 0) url("images/icons/my-icon.png") no-repeat scroll 5px center;
}
私のアイコンは、この1のように見えます。私はCSS3のフィルター機能を使用しようとしました。
アイデアは、私は16進数のコードを持っており、それをRGBとそれ以降のHSL(色相、彩度、輝度)に変換することです。最後には、各色について0〜360(度)の値を設定します。例えば、この画像を参照してください:http://lodev.org/cgtutor/images/hslhuecircle.jpg。
私は、このフィルタ機能を使用しています:
220degは色相のint型の値であるfilter: hue-rotate(220deg) saturate(100);
。だから、色相(最初にfloat値)までaproximated 220
は赤い例を見てみましょうです:#FF0000の を色相の詳細は以下のとおりです。
array(4) {
["hue"]=>
int(0)
["saturation"]=>
int(100)
["luminance"]=>
float(50)
["degrees"]=>
int(0)
}
ので、CSSは次のようになります。
.icon {
background: rgba(0, 0, 0, 0) url("images/icons/my-icon.png") no-repeat scroll 5px center;
filter: hue-rotate(0deg) saturate(100);
}
しかし、この場合、青は#9AF8FF(赤ではない)になります。
赤色得るために、私が使用する必要があります
filter: hue-rotate(195deg) saturate(100);
色相回転値だけ度のように、0と360の間とすることができます。私の場合、結果は逆になり、0度の赤を取得するのではなく、次の画像(195度)で得られる値が得られます。http://lodev.org/cgtutor/images/hslhuecircle.jpg
cssを使用して画像の色を変更するのに役立つCSSフィルターなどのソリューションはありますか?私は他のCSS3フィルターで演奏しましたが、色を希望のものに変更できませんでした。
ユーザーが希望の色を選択できるアプリケーションがありますが、唯一の問題は既存の画像アイコンです。
お手数をおかけしますが、ありがとうございます!
重要 - これはすべての色で機能しているわけではなく、いくつかの色でのみ機能するので、誰かがより良い解決策を投稿することを願っています – Pascut