私はグレースケールの画像の方が芸術的に見えると思うので、いつもグレースケールの画像を好んで使っています。 Photoshop などの多くの画像エディタでは、カラー画像を簡単にグレースケールに変換できます。色の深度や色相を調整するオプションもあります。残念ながら、ブラウザの違いにより、この効果を Web 上で実現するのは簡単ではありません。 1. CSSフィルター CSS フィルター プロパティを使用するのが、おそらく画像をグレースケールに変換する最も簡単な方法です。歴史的に、Internet Explorer には、グレースケールなどのカスタム効果を適用するための、filter と呼ばれる独自の CSS プロパティがありました。 現在、フィルター プロパティは CSS3 仕様の一部であり、Firefox、Chrome、Safari などの一部のブラウザーでサポートされています。以前、画像をグレーにするだけでなく、セピアやぼかし効果にもできる Webkit フィルターについても説明しました。 次のCSSスタイルを追加すると、画像が灰色になります コードをコピー コードは次のとおりです。画像 { -webkit-filter: grayscale(1); /* Webkit */ フィルター: グレー; /* IE6-9 */ フィルター: グレースケール(1); /* W3C */ } IE6-9 および Webkit ブラウザ (Chrome 18+、Safari 6.0+、Opera 15+) をサポート (注: このコードは Firefox には影響しません。) 2. ジャバスクリプト 2 番目の方法は、JavaScript を使用することです。技術的には、IE6 以下も含め、JavaScript をサポートするすべてのブラウザは JavaScript をサポートしているはずです。 コードをコピー コードは次のとおりです。var imgObj = document.getElementById('js-image'); 関数gray(imgObj) { var キャンバス = document.createElement('キャンバス'); var キャンバスコンテキスト = キャンバス.getContext('2d'); var imgW = imgObj.width; var imgH = imgObj.height; キャンバスの幅 = imgW; キャンバスの高さ = imgH; キャンバスコンテキストで画像を描画します。 var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH); for(var y = 0; y < imgPixels.height; y++){ for(var x = 0; x < imgPixels.width; x++){ var i = (y * 4) * imgPixels.width + x * 4; var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3; imgPixels.data[i] = 平均; imgPixels.data[i + 1] = 平均; imgPixels.data[i + 2] = 平均; } } canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height); canvas.toDataURL() を返します。 } imgObj.src = グレー(imgObj); 3. テキスト 3番目の方法はSVGフィルターを使う方法です。SVGファイルを作成し、次のコードを記述して***.svgとして保存する必要があります。 コードをコピー コードは次のとおりです。<svg xmlns="http://www.w3.org/2000/svg"> <フィルター id="グレースケール"> <feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/> </フィルター> </svg> 次に、フィルタープロパティを使用して、SVGファイル内の要素のIDでSVGファイルに接続できます。 コードをコピー コードは次のとおりです。画像 { フィルター: url('img/gray.svg#grayscale'); } CSS ファイルに配置することもできます。例: コードをコピー コードは次のとおりです。画像 { フィルター: url('url("data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg'><filter%20id='grayscale'><feColorMatrix%20type='matrix'%20values='0.3333%200.3333%200.3333%200.3333%200%200.3333%200.3333%200.3333%200%200%200%200%200%201%200'/></filter></svg>#grayscale");') } 要約すると、ブラウザー間でグレースケール効果をサポートするには、上記の方法を次のコード スニペットと組み合わせて使用できます。このコードはFirefox 3.5以降、Opera 15以降、Safari、Chrome、IEをサポートします。 コードをコピー コードは次のとおりです。画像 { -webkit-フィルター: グレースケール(100%); -webkit-フィルター: グレースケール(1); フィルター: グレースケール(100%) フィルター: url('../img/gray.svg#grayscale'); フィルター: グレー; } 上記のコードを JavaScript アプローチで活用し、JavaScript が無効になっている場合のフォールバックとして CSS フィルターを提供することもできます。このアイデアは、Modernizr の助けを借りて簡単に実装できます。 コードをコピー コードは次のとおりです。.no-js画像{ -webkit-フィルター: グレースケール(100%); -webkit-フィルター: グレースケール(1); フィルター: グレースケール(100%) フィルター: url('../img/gray.svg#grayscale'); フィルター: グレー; } OK、ブラウザでクールな効果を確認できます。 ! |
<<: HTML テキストフォーマットの簡単な例 (詳細な説明)
>>: CSS でホバー ドロップダウン メニューを実装する方法
今日は、MySQL をインストールしたかったので、公式 Web サイトにアクセスして、MySQL の...
エンジン導入InnodbエンジンInnodb エンジンは、データベース ACID トランザクションを...
目次1. autofs サービスの紹介2. Autofsのインストールと展開3. Autofs効果の...
この記事では、例を使用して、MySQL クエリのソート関数とクエリ集計関数の使用方法を説明します。ご...
生活の中で、インターネットはどこにでもあります。インターネットを通じてゲームをしたり、テレビ番組を見...
目次ビジネスシナリオ:効果のデモンストレーション:ビジネスシナリオ: el-form を使用する場合...
はじめに: MySQL は、スウェーデンの MySQL AB によって開発されたリレーショナル デー...
1. ファイルの権限と所有権の概要1. アクセス権Read r: ファイルの内容を表示し、ディレクト...
目次1. バブルソートとは何か2. 例を挙げるラウンド1:第2ラウンド:第3ラウンド:第4ラウンド:...
REPLACE構文REPLACE(String,from_str,to_str)つまり、String...
序文Linux 上で jar パッケージを実行する方法は誰もが知っています。なぜ別々に話したいのでし...
1. はじめにSELinux が Linux にもたらす主な価値は、柔軟で構成可能な MAC メカニ...
以下のように表示されます。名前説明する文字可変(n)、varchar(n)長さ制限あり、可変長文字(...
目次1. 永続データの簡単なマウント2. DockerFileでイメージをビルドし、設定ファイルを指...
1. Dockerネットワークモードdocker run が Docker コンテナを作成するときに...