현재 위치: > 최신 기사 목록> imagelayerefect 함수를 사용하는 방법? 이미지 계층 특수 효과의 기본 작업에 대한 완전한 분석

imagelayerefect 함수를 사용하는 방법? 이미지 계층 특수 효과의 기본 작업에 대한 완전한 분석

gitbox 2025-09-12

imagelayerefect 함수를 사용하는 방법? 이미지 계층 특수 효과의 기본 작동에 대한 완전한 분석

PHP의 이미지 처리 확장 GD에서는 매우 실용적인 기능입니다. 이미지 리소스에 대한 레이어 효과를 설정하여 다양한 오버레이, 혼합 또는 투명한 효과를 달성 할 수 있습니다. 이 기사는 사용법과 기본 작업을 자세히 분석합니다.

1. imagelayerefect 함수의 개요

기능 프로토 타입 :

<span><span>부</span></span><span> </span><span><span class="function_ invoke__">imagelayereffect</span></span> <span>(자원</span> <span><span>$ image</span></span> <span>,</span> <span><span>int</span></span><span> </span><span><span>$ 효과</span></span> <span>)
</span><p>매개 변수 설명 :</p><ul><li> <span class="fun">$ image</span> : <span class="fun">imageecreatetrecolor ()</span> 또는 <span class="fun"><a href="/ko/php/imagecreatefromjpeg.html" target="_blank">imageCreateFromJPEG ()</a></span> 와 같은 함수에 의해 일반적으로 생성되는 레이어 효과를 설정 해야하는 이미지 리소스.</li><li> <span class="fun">$ 효과</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>$ img</span></span> <span>=</span> <span><span class="function_ invoke__">imageCreatetRuecolor</span></span> <span>(</span> <span><span>400</span></span> <span>,</span> <span><span>300</span></span> <span>);

</span><span><span>// 배경을 흰색으로 채 웁니다</span></span><span>
</span><span><span>$ white</span></span> <span>=</span> <span><span class="function_ invoke__">imagecolorAllother</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>// 레이어 효과를 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>$ red</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>// 반투명 사각형을 그립니다</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>$ red</span></span> <span>);

</span><span><span>// 이미지 출력</span></span><span>
</span><span><span class="function_ invoke__">헤더</span></span> <span>(</span> <span><span>&#39;내용 유형 : 이미지/png&#39;</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__">imageStroy</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>5</span></span> <span>,</span> <span><span>10</span></span> <span>,</span> <span><span>10</span></span> <span>,</span> <span><span>"Hello World"</span></span> <span>,</span> <span><span>$ black</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>$ 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><span class="fun">imagelayeReffect ()</span> 의 매개 변수를 유연하게 전환함으로써 복잡한 레이어 작업 및 이미지 효과를 달성 할 수 있습니다.</p><h2> <span><span>4.</span></span> <span>주목할만한 것들</span><ul><li> <span class="fun">IMG_EFFECT_ALPHABLEND를</span> 사용하는 경우 이미지가 알파 채널을 지원하는지 확인하십시오 ( <span class="fun"><a href="/ko/php/imagesavealpha.html" target="_blank">ImagesAvealpha ()</a></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>