Photoshopスタイルのレイヤーシャドウ効果と光彩効果は、layer=0やlayer=compなど、任意のレイヤー(親レイヤー)にアタッチできる特殊なサブレイヤー(エフェクトレイヤー)を使用して実装されます。
エフェクトレイヤは、多くの標準的な画像とレイヤ属性およびコマンドをサポートしますが、汎用のレイヤーを想定したものではなく、独立した画像やテキストデータをサポートしません。
1つの親レイヤーに任意の数のレイヤー効果をアタッチできます。
内側の 効果は親レイヤーの上にレンダリングされ、親レイヤーの不透明な領域にのみ表示されます。外側の エフェクトは、親レイヤの後ろにレンダリングされます(したがって、親レイヤの不透明な領域内には表示されません)。また、合成キャンバス内の任意の場所に配置できます。effect=
コマンドで正または負の効果レイヤー番号を割り当てることで、内側または外側の効果を選択します。 effect=
コマンドは、同じ親レイヤーにアタッチされた複数のエフェクトレイヤーのz順序も制御します。
エフェクトレイヤーは、親レイヤーと一致するように自動的にサイズ設定および配置されます(つまり、エフェクトレイヤーは親レイヤーのsize=
値とorigin=
値を継承します)。 pos=
は、ドロップ効果とシャドウの内側効果に通常必要なように、エフェクトレイヤーを親レイヤーから離すために使用できます。標準レイヤーpos=
はこのレイヤーとレイヤー0の接触チャネル間のオフセットを指定しますが、エフェクトレイヤーpos=
はエフェクトレイヤーと親レイヤーの接触チャネル間のオフセットを指定します。
エフェクトレイヤーには、次のコマンドと属性を使用できます。
blendMode=
effect=
color=
maskUse=
opac=
op_grow=
op_blur=
op_noise=
pos=
効果レイヤーに含まれる他の画像およびレイヤーコマンドはすべて無視されます。
レイヤー効果の使用を容易にするために、ISには初期設定の画像カタログ$shadow$
と$glow$
の2つのマクロが用意されています。これらのマクロは、Photoshopのレイヤー効果に似たエフェクトレイヤー属性の初期設定値です。 初期設定のレイヤ効果を実装する際に使用する効果コマンドとマクロのリストを、次の表に示します。 当然ながら、マクロで指定されている属性はURLで変更できます。また、カスタムレイヤー効果を実装するために別のマクロを作成することもできます。
目的の効果 | コマンド |
---|---|
ドロップシャドウ |
effect=-1&$shadow$ |
シャドウ(内側) |
effect=1&$shadow$ |
光彩(外側) |
effect=-1&$glow$ |
光彩(内側) |
effect=1&$glow$ |
レイヤーに対して50 %追加の不透明度を持つ、幅が3ピクセルの赤い境界線:
…&effect=-1&op_grow=3&color=255,0,0,128&…
境界線は、画像のアルファチャネルまたはマスクの輪郭に従います。 effect=1
を設定すると、境界線が内側の端に配置されます。
初期設定の効果設定(色を除く)を追加使用した、青みがかったドロップシャドウ。
http://server/is/image/myCat/myImage?size=200,200&extend=0,0,10,10&effect=-1&$shadow$&color=50,143,254
extend=
画像の右下端に余白を少し追加します。これにより、ドロップシャドウが画像の境界に合わせてクリップされるのを防ぐことができます。