画像またはCSSを使用してPhotoshopのマルチレイヤーモードを複製する良い方法を知っている人はいますか?
サムネイルにカーソルを合わせるとカラーオーバーレイが表示されるプロジェクトに取り組んでいますが、デザイナーがレイヤーセットを使用して乗算しているため、ウェブ上でサムネイルを作成する方法がわかりません。
私が思いついた最高のことは、rgbaまたはtransparent pngのいずれかを使用することですが、それでも正しく見えません。
このことを行うために導入された新しいCSSプロパティがblend-mode
ありbackground-blend-mode
ます。
現在、これらは非常に新しく、Chrome Canary(実験用ウェブブラウザ)とWebkit Nightlyでのみサポートされているため、どのような種類の本番環境でも使用できません。
これらのプロパティは、フォトショップのブレンディングモードとほぼ同じように機能するように設定されており、、、、、、などのさまざまな異なるモードをこれらのプロパティの値として設定できoverlay
ます。screen
lighten
color-dodge
multiply
blend-mode
このブレンド効果を適用するために、画像(およびおそらくコンテンツ?この時点でそれを示唆するものは何も聞いていません。)を重ねることができます。
background-blend-mode
非常に似ていますが、実際の画像要素ではなく、背景画像(background
またはを使用して設定)を対象としています。background-image
編集: ブラウザのサポートが拡大するにつれて、次のセクションは少し無関係になります。このチャートをチェックして、どのブラウザがこれをサポートしているかを確認してください:http: //caniuse.com/#feat=css-backgroundblendmode
最新バージョンのChromeがコンピューターにインストールされている場合は、ブラウザーでいくつかのフラグを有効にすることで、これらのスタイルが実際に使用されていることを確認できます(アドレスバーにこれらをスローするだけです)。
chrome://flags/#enable-experimental-web-platform-features
chrome://flags/#enable-css-shaders
* note that the flags required for this might change at any time
それらの悪い男の子を有効にしてから、このフィドルをチェックしてください:http: //jsfiddle.net/cqzJ5/ (ブラウザでスタイルが適切に有効になっている場合は、2つの画像をブレンドして、シーンが水中にあるように見せます)
この機能はほとんど完全にサポートされていないため、現時点ではこれが最も正当な答えではないかもしれませんが、最近のブラウザが近い将来これらのプロパティを採用し、この問題に対する本当に素晴らしく簡単な解決策を提供することを期待できます。
ブレンディングモードとcssプロパティに関するいくつかの追加の読書リソース:
少しSVGでシンプル:
<svg width="200" height="200" viewBox="10 10 280 280">
<filter id="multiply">
<feBlend mode="multiply"/>
</filter>
<image id="kitten" x="0" y="0" width="300" height="300" xlink:href="http://placekitten.com/300" />
</svg>
といくつかのCSS:
#kitten:hover {
filter:url(#multiply);
}
フィドル: http: //jsfiddle.net/7uCQQ/381/
念のため、この男はそうするためのライブラリを開発しています。私は研究をしているときにそれに入ったばかりで、まだ試していません。
トリックを知っていれば、24.pngで可能です。
イラストレーターでは、グラフィックを24.pngとしてエクスポートできますが、これは乗算のようには機能しないようです。
私は離れて見つけました。
画像の上にz-index(ed)を付けると、乗算のように機能します。
そのような能力は利用できません。あなたが得る唯一の合成オプションは、さらに近いものです:
lighter
HTML5の合成モード<canvas>
(これはa*bではなくa+bであり、乗算とはほぼ逆の効果があります)
min
またはsubtract
Compositor
IEのみでフィルタリングします。
どちらも実際には実用的ではありません。
一般に、Photoshopのカンプをレイヤーとしてエクスポートするのではなく、単一の不透明な画像にレンダリングする必要があります。ロールオーバーの場合、2つの画像(1つは通常の状態用、もう1つはホバー状態用)を作成し、CSS:hover
スタイルを使用してそれらを交換して別の背景画像を選択できます。または、プリロードが不要でHTTPリクエストが少ないため、両方の画像を組み合わせて1つを使用し、background-image
/background-position
を使用して、各状態のその画像の右側を背景画像として表示します。(「CSSスプライト」)
私は最近、OPが要求したことを正確に実行する必要があったので、周りを検索しました。Photoshopで透明なPNGを作成することにより、乗算効果を再現するための優れた方法を見つけました。
Alt/Option + click
マスク自体に。Cmd/Ctrl + i
貼り付けたレイヤーを反転します。opacity
作成したマスクレイヤーのを調整できます。すべてのクレジットはhttps://superuser.com/questions/381704/multiply-blending-mode-to-pngからソジョンに送られます
これをチェックしてください: http ://www.webdesign.org/photoshop/photoshop-basics/remove-white-using-channels.10545.html
これらの手順を使用して、暗い背景(私の場合は木)に白黒の画像(私の場合はインクで描画し、白一色の背景に黒とグレーを使用)に透かしを入れることに成功しました。Adobeの実際のMultiplyフィルターとほとんど違いはありません。
Photoshopの手順を使用して、画像から白を削除し、透明な背景に黒と灰色だけを残しました。これをPNGに保存し、CSS / HTMLの木材に配置することは、乗算よりもはるかに悪いように見えましたが、PNGの明るさを大幅に下げることで解決しました(以前は薄い灰色が目立ち、醜いものになりました)。
一般に、フォトショップで遊んで、Webの状況を再現することをお勧めします。無地の背景の上に半透明(特別なものはありません)のレイヤーを配置します。上記のようなチュートリアルでは、掛け算やその他の派手な効果を再現できる場合があります。
運がいいかどうかわからない。私の知る限り、高度なJavaScriptを統合しようとしても不可能です。