Bei der Bildverarbeitungserweiterung von PHP ist es eine sehr praktische Funktion. Es kann Schichteffekte für Bildressourcen festlegen und damit verschiedene Overlay-, Misch- oder transparente Effekte erzielen. Dieser Artikel wird seine Nutzungsmethoden und grundlegenden Operationen im Detail analysieren.
Funktionsprototyp:
<span><span>bool</span></span><span> </span><span><span class="function_ invoke__">Imagelayereffect</span></span> <span>(Ressource</span> <span><span>$ Image</span></span> <span>,</span> <span><span>int</span></span><span> </span><span><span>$ effekt</span></span> <span>) </span><p>Parameterbeschreibung:</p><ul><li> <span class="fun">$ image</span> : Die Bildressource, die den Schichteffekt festlegen muss, der normalerweise durch Funktionen wie <span class="fun">ImagecrreatTueColor ()</span> oder <span class="fun"><a href="/de/php/imagecreatefromjpeg.html" target="_blank">ImagecreateFromjpeg ()</a></span> generiert wird.</li><li> <span class="fun">$ effekt</span> : Schichteffektkonstante, Sie können eine Vielzahl von Effekten verwenden, die von GD bereitgestellt werden, wie z. B.:</li><ul><li> <span class="fun">IMG_Effect_Replace</span> : Standard -Effekt, Bildpixel ersetzen.</li><li> <span class="fun">IMG_Effect_Alphablend</span> : Hybridmodus, unterstützt transparente Overlay von Alpha -Kanälen.</li><li> <span class="fun">IMG_Effect_Normal</span> : Normaler Zeichenmodus.</li><li> <span class="fun">IMG_Effect_Overlay</span> : Überschreibmodus, verwendet zum Hervorheben oder Schatten von Effekten.</li></ul></ul><h2> <span><span>2.</span></span> <span>Beispiele für Grundnutzung</span><p> Hier ist ein einfaches Beispiel, das zeigt, wie Sie Schichteffekte auf ein Bild festlegen und semi-transparente Rechtecke zeichnen:</p><pre> <? Php <span><span>// Erstellen Sie ein leeres Bild</span></span><span> </span><span><span>$ img</span></span> <span>=</span> <span><span class="function_ invoke__">ImageCrreatTueColor</span></span> <span>(</span> <span><span>400</span></span> <span>,</span> <span><span>300</span></span> <span>); </span><span><span>// füllen Sie den Hintergrund mit Weiß aus</span></span><span> </span><span><span>$ white</span></span> <span>=</span> <span><span class="function_ invoke__">imageblyColoralloclocation</span></span> <span>(</span> <span><span>$ img</span></span> <span>,</span> <span><span>255</span></span> <span>,</span> <span><span>255</span></span> <span>,</span> <span><span>255</span></span> <span>); </span><span><span class="function_ invoke__">ImageFill</span></span> <span>(</span> <span><span>$ img</span></span> <span>,</span> <span><span>0</span></span> <span>,</span> <span><span>0</span></span> <span>,</span> <span><span>$ White</span></span> <span>); </span><span><span>// Setzen Sie den Schichteffekt auf Alphablend</span></span><span> </span><span><span class="function_ invoke__">ImagelayereFect</span></span> <span>(</span> <span><span>$ img</span></span> <span>, img_effect_alphablend); </span><span><span>// Translucent rot zuweisen</span></span><span> </span><span><span>$ rot</span></span> <span>=</span> <span><span class="function_ invoke__">imageColorallocatealpha</span></span> <span>(</span> <span><span>$ img</span></span> <span>,</span> <span><span>255</span></span> <span>,</span> <span><span>0</span></span> <span>,</span> <span><span>0</span></span> <span>,</span> <span><span>63</span></span> <span>); </span><span><span>// Durchscheinendes Rechteck zeichnen</span></span><span> </span><span><span class="function_ invoke__">ImageFilledRectangle</span></span> <span>(</span> <span><span>$ img</span></span> <span>,</span> <span><span>50</span></span> <span>,</span> <span><span>50</span></span> <span>,</span> <span><span>350</span></span> <span>,</span> <span><span>250</span></span> <span>,</span> <span><span>$ rot</span></span> <span>); </span><span><span>// Ausgabe Bild</span></span><span> </span><span><span class="function_ invoke__">Header</span></span> <span>(</span> <span><span>'Inhaltstyp: Bild/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__">ImagedStroy</span></span> <span>(</span> <span><span>$ img</span></span> <span>); ?> </span><p>Das Ausführungsergebnis zeigt ein durchscheinendes rotes Rechteck auf einem weißen Hintergrund, und der transparente Overlay -Effekt wird durch <span class="fun">img_effect_alphablend</span> erzielt.</p><h2> <span><span>3..</span></span> <span>Verwenden Sie mehrere Schicht -Effekte in Kombination</span><p> In praktischen Anwendungen müssen Sie möglicherweise gleichzeitig unterschiedliche Schichteffekte verwenden. Zum Beispiel können Sie zuerst die Ebene des Textes oder der Mehrfach-Bild-Überlagerung auf <span class="fun">IMG_Effect_Normal</span> einstellen, um das Grundelement zu zeichnen, und dann auf <span class="fun">img_effect_alphablend</span> wechseln, um den semi-transparenten Effekt von Overlay zu überlagern:</p><pre> <span><span class="function_ invoke__">ImagelayereFect</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>5</span></span> <span>,</span> <span><span>10</span></span> <span>,</span> <span><span>10</span></span> <span>,</span> <span><span>"Hallo Welt"</span></span> <span>,</span> <span><span>$ schwarz</span></span> <span>); </span><span><span class="function_ invoke__">ImagelayereFect</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>$ img</span></span> <span>,</span> <span><span>20</span></span> <span>,</span> <span><span>50</span></span> <span>,</span> <span><span>200</span></span> <span>,</span> <span><span>150</span></span> <span>,</span> <span><span>$ semitransparentBlue</span></span> <span>); </span><p>Durch flexibeles Schalten der Parameter von <span class="fun">Imagelayereffect ()</span> können komplexe Schichtvorgänge und Bildeffekte erreicht werden.</p><h2> <span><span>4..</span></span> <span>Dinge zu beachten</span><ul><li> Stellen Sie bei der Verwendung <span class="fun">von img_effect_alphablend</span> sicher, dass das Bild Alpha -Kanäle unterstützt (über <span class="fun">BilderSavealpha ()</span> festgelegt).</li><li> Unterschiedliche GD -Versionen unterstützen bestimmte Effekte möglicherweise nicht vollständig. Bitte kombinieren Sie offizielle Dokumentation und tatsächliche Tests.</li><li> Der Schichteffekt gilt nur für nachfolgende Zeichenvorgänge, und der zuvor gezogene Inhalt wird nicht betroffen.</li></ul><h2> <span><span>5.</span></span> <span>Zusammenfassung</span><p> <span class="fun">ImagelayereFect ()</span> ist eine Schlüsselfunktion in der GD -Erweiterung, um das Mischen von Schichten und transparentem Overlay zu implementieren. Das Beherrschen seiner Verwendung kann leicht verschiedene Spezialeffekte wie durchscheinende Rechtecke, Textüberlagerungen und Bildüberlagerungen erzielen. Der Schlüssel ist, die Rolle jeder Effektkonstante zu verstehen und flexibel entsprechend Ihren Anforderungen zu wechseln.</p><p> Durch die Erklärung und Beispiele dieses Artikels können Sie schnell mit den grundlegenden Operationen von Bildschichteffekten beginnen und Ihrem PHP -Bildverarbeitungsprojekt mehr Kreativität und Ausdruckskraft hinzufügen.</p></div></div>