PHP의 이미지 처리 확장 GD에서는 매우 실용적인 기능입니다. 이미지 리소스에 대한 레이어 효과를 설정하여 다양한 오버레이, 혼합 또는 투명한 효과를 달성 할 수 있습니다. 이 기사는 사용법과 기본 작업을 자세히 분석합니다.
기능 프로토 타입 :
<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>'내용 유형 : 이미지/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__">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>