PHPの画像処理拡張GDでは、非常に実用的な機能です。画像リソースの層効果を設定し、さまざまなオーバーレイ、ブレンド、または透明な効果を実現できます。この記事では、その使用方法と基本操作を詳細に分析します。
関数プロトタイプ:
<span><span>ブール</span></span><span> </span><span><span class="function_ invoke__">ImageLayereffect</span></span> <span>(Resource</span> <span><span>$ image</span></span> <span>、</span> <span><span>int</span></span><span> </span><span><span>$ effect</span></span> <span>) </span><p>パラメーター説明:</p><ul><li> <span class="fun">$ image</span> :一般的に、 <span class="fun"><a href="/ja/php/imagecreatetruecolor.html" target="_blank">imageCreateTruecolor()</a></span>や<span class="fun"><a href="/ja/php/imagecreatefromjpeg.html" target="_blank">imageCreatefromjpeg()</a></span>などの関数によって生成するされるレイヤー効果を設定する必要がある画像リソース。</li><li> <span class="fun">$ effect</span> :レイヤーエフェクト定数、二流のようなGDが供給するさまざまな効果を使用できます。</li><ul><li> <span class="fun">IMG_EFFECT_REPLACE</span> :デフォルト効果、画像ピクセルを交換します。</li><li> <span class="fun">IMG_EFFECT_ALPHABLEND</span> :ハイブリッドモードは、アルファチャネルの透明なオーバーレイをサポートします。</li><li> <span class="fun">IMG_EFFECT_NORMAL</span> :一般的にのスキャン画モード。</li><li> <span class="fun">IMG_EFFECT_OVERLAY</span> :書いてみましょうきモード、ハイライトまたはシャドウイング効果に使用されます。</li></ul></ul><h2> <span><span>2。</span></span><span>基本な使用例</span><p>画像にレイヤー効果を設定し、半透明の矩形をスキャンく方法を見せるす簡単な例を見せるします。</p><pre> <?php <span><span>//空白の画像を作成します</span></span><span> </span><span>$</span> <span><span>img</span></span> <span>=</span> <span><span class="function_ invoke__">imageCreateTrueColor</span></span> <span>(</span> <span><span>400、300</span></span> <span><span>)</span></span> <span>;</span><span> </span><span><span>//背景を白で満たします</span></span><span> </span><span>$</span> <span><span>white</span></span> <span>=</span> <span><span class="function_ invoke__">imageColorAllocate</span></span> <span>(</span> <span><span>$</span></span> <span><span>IMG</span></span> <span>、</span> <span><span>255、255、255</span></span> <span><span>)</span></span> <span>;</span><span></span><span> </span><span><span class="function_ invoke__">ImageFill</span></span> <span>(</span> <span><span>$ img</span></span> <span>、</span> <span><span>0、0</span></span> <span>、</span> <span><span>$</span></span> <span>white</span> <span>)</span> <span><span>;</span></span><span> </span><span><span>//レイヤー効果をAlphablendに設定します</span></span><span> </span><span><span class="function_ invoke__">ImageLayereffect</span></span> <span>(</span> <span><span>$ IMG</span></span> <span>、IMG_EFFECT_ALPHABLEND); </span><span><span>//半透明の赤を割りいつてます</span></span><span> </span><span>$</span> <span><span>RED</span></span> <span>=</span> <span><span class="function_ invoke__">ImageColorAllocatealpha</span></span> <span>(</span> <span><span>$</span></span> <span><span>IMG</span></span> <span>、</span> <span><span>255、0、0、63</span></span> <span>)</span> <span>;</span><span></span><span><span></span></span><span><span></span></span><span> </span><span><span>//半透明の矩形をスキャンきます</span></span><span> </span><span><span class="function_ invoke__">ImageFilledRectangle</span></span> <span>(</span> <span><span>$</span></span> <span>IMG</span> <span>、</span> <span><span>50、50、350、250</span></span> <span>、</span> <span>$</span> <span><span>red</span></span> <span><span>)</span></span> <span><span>;</span></span><span></span><span><span></span></span><span></span><span> </span><span><span>//出力画像</span></span><span> </span><span><span class="function_ invoke__">ヘッダー</span></span><span>(</span> <span><span>'Content-Type:Image/PNG'</span></span> <span>); </span><span><span class="function_ invoke__">ImagePng</span></span> <span>(</span> <span><span>$ IMG</span></span> <span>); </span><span><span class="function_ invoke__">Imagedestroy</span></span> <span>(</span> <span><span>$ img</span></span> <span>); ?> </span><p>実行の結果は、白い背景に半透明の赤い矩形を見せるし、透明なオーバーレイ効果は<span class="fun">IMG_EFFECT_ALPHABLEND</span>によって成果されます。</p><h2> <span><span>3.</span></span><span>複数の層効果をグループみ組み合わせるわせて使用します</span><p>実際のアプリケーションでは、違うなるレイヤー効果を同時にに使用する必要がある場組み合わせるがあります。たとえば、テキストまたはマルチピクチャオーバーレイをスキャン画すると、まずレイヤーを<span class="fun">IMG_EFFECT_NORMAL</span>に設定して基本要素をスキャン画し、二流に<span class="fun">IMG_EFFECT_ALPHABLEND</span>にカットりのためにえて半透明効果をオーバーレイできます。</p><pre> <span><span class="function_ invoke__">ImageLayereffect</span></span> <span>(</span> <span><span>$ img</span></span> <span>、img_effect_normal); </span><span><span class="function_ invoke__">Imagestring</span></span> <span>(</span> <span><span>$ IMG</span></span> <span><span>、</span></span> <span>5、10、10</span> <span>、</span> <span>"</span> <span><span>Hello</span></span> <span><span>World"</span></span> <span>、</span> <span><span>$</span></span> <span><span>black</span></span> <span>)</span> <span>;</span><span> </span><span><span class="function_ invoke__">ImageLayereffect</span></span> <span>(</span> <span><span>$ IMG</span></span> <span>、IMG_EFFECT_ALPHABLEND); </span><span><span class="function_ invoke__">ImageFilledRectangle</span></span> <span>(</span> <span><span>$</span></span> <span>IMG</span> <span>、</span> <span><span>20、50、200、150</span></span> <span>、</span> <span>$</span> <span><span>semitransparentBlue</span></span> <span><span>)</span></span> <span><span>;</span></span><span></span><span><span></span></span><span></span><span> </span><p><span class="fun">ImageLayereffect()</span>のパラメーターを柔らかいにカットりのためにえることにより、複雑なレイヤー操作と画像効果を実現できます。</p><h2> <span><span>4。</span></span><span>知らせすべきこと</span><ul><li><span class="fun">IMG_EFFECT_ALPHABLEND</span>を使用する場組み合わせる、画像がAlphaチャネルをサポートしていることを確認してください( <span class="fun">ImageAvealpha()</span> )。</li><li>さまざまなGDバージョンが特定の効果を完全ににサポートしない場組み合わせるがあります。公式のドキュメントと実際のテストをグループみ組み合わせるわせてください。</li><li>レイヤー効果は、後続のスキャン画操作に対してのみ有効であり、前ににスキャンかれたコンテンツは影響をによるけません。</li></ul><h2> <span><span>5。</span></span><span>概要</span><p><span class="fun">ImageLayereffect()</span>は、層の混組み合わせると透明オーバーレイを実装するためのGD拡張機能の重要な関数です。その使用をマスターすると、半透明の矩形、テキストオーバーレイ、画像オーバーレイなど、さまざまな特殊効果を簡単に成果できます。重要なのは、各効果の役割を合格常に理解するし、ニーズに応じて柔らかいにカットりのためにえることです。</p><p>この記事の説明と例を合格して、画像レイヤー効果の基本操作をすぐに始まりめて、PHP画像処理プロジェクトに創造性と表現を追加できると考えるいます。</p></div></div>