이미지 처리는 PHP의 일반적인 작업입니다. 특히 웹 페이지에서 동적 이미지를 생성하거나 사용자 정의 그래픽을 표시 해야하는 경우. ImageArc 및 imageCreateTruecolor 함수는 이미지 처리에서 두 가지 중요한 도구입니다. 이 두 기능을 통해 개발자는 아크 효과로 이미지를 만들 수 있습니다. 이 기사는이 두 기능을 결합하여 아크 효과로 이미지를 생성하는 방법을 자세히 설명합니다.
ImageCreateTrueColor 함수는 실제 색상 이미지를 생성하는 데 사용되어 이미지를 나타내는 리소스 식별자를 반환합니다. 실제 색상 이미지는 각 컬러 채널에 대해 256 개의 다른 색상 레벨 (즉, 24 비트 색상 깊이)을 지원하므로 더 풍부한 색상 세부 사항을 표현할 수 있습니다.
기능 프로토 타입 :
<span><span>resource </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$height</span></span><span>)
</span></span>
매개 변수 설명 :
너비 : 이미지의 너비.
$ 높이 : 이미지의 높이.
ImageArc 함수는 이미지에 아크를 그리는 데 사용됩니다. 아크는 지정된 중심, 반경, 시작 각도 및 엔드 각도에 의해 결정됩니다. 이 기능은 아크 또는 곡선 경로를 그리는 데 매우 적합합니다.
기능 프로토 타입 :
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(resource </span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$end</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$color</span></span><span>)
</span></span>
매개 변수 설명 :
$ 이미지 : 아크를 그리는 이미지 리소스.
$ CX : 원의 중심의 x 좌표.
$ cy : 원의 중심의 y 좌표.
$ 너비 : 아크가있는 사각형의 너비.
$ 높이 : 아크가있는 사각형의 높이.
$ 시작 : 아크의 시작 각도 (단위 :도).
$ 종료 : 아크의 끝 각도 (단위 :도).
$ 컬러 : 아크의 색상.
다음은 imageCreateTruecolor 및 imageArc 함수를 사용하여 아크 효과로 이미지를 생성하는 방법을 보여주는 간단한 예입니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// a 400x400 픽셀의 진정한 색상 이미지</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">400</span></span><span>, </span><span><span class="hljs-number">400</span></span><span>);
</span><span><span class="hljs-comment">// 이미지 배경을 흰색으로 설정합니다</span></span><span>
</span><span><span class="hljs-variable">$backgroundColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>); </span><span><span class="hljs-comment">// RGB: 하얀색</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$backgroundColor</span></span><span>);
</span><span><span class="hljs-comment">// 아크를 빨간색으로 설정하십시오</span></span><span>
</span><span><span class="hljs-variable">$arcColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// RGB: 빨간색</span></span><span>
</span><span><span class="hljs-comment">// 아크 라인을 그립니다</span></span><span>
</span><span><span class="hljs-variable">$cx</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>; </span><span><span class="hljs-comment">// 원의 중심 x 동등 어구</span></span><span>
</span><span><span class="hljs-variable">$cy</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>; </span><span><span class="hljs-comment">// 원의 중심 y 동등 어구</span></span><span>
</span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-number">300</span></span><span>; </span><span><span class="hljs-comment">// 아크의 너비</span></span><span>
</span><span><span class="hljs-variable">$height</span></span><span> = </span><span><span class="hljs-number">300</span></span><span>; </span><span><span class="hljs-comment">// 아크의 높이</span></span><span>
</span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-comment">// 시작 각도</span></span><span>
</span><span><span class="hljs-variable">$end</span></span><span> = </span><span><span class="hljs-number">90</span></span><span>; </span><span><span class="hljs-comment">// 종료 각도</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-variable">$end</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span><span><span class="hljs-comment">// 브라우저에 이미지를 출력합니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: image/png'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-comment">// 이미지 리소스 릴리스</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
이미지 만들기 : ImageCreatetRuecolor 함수를 사용하여 400x400 픽셀의 빈 이미지를 만들고 흰색 배경으로 이미지를 채우십시오.
색상 정의 : imageColorAllothing 함수를 사용하여 아크 (빨간색)와 배경 (흰색)의 색상을 정의하십시오.
아크 드로우 : ImageArc 함수를 사용하여 시작 각도는 0도이고 끝 각도는 90 도의 이미지 중앙 (200, 200)에 빨간 아크를 그립니다. 아크의 직사각형 프레임의 너비와 높이는 각각 300 픽셀입니다.
출력 이미지 : 마지막으로, ImagePng를 사용하여 생성 된 이미지를 출력하고 이미지 가시를 통해 이미지 리소스를 해제하십시오.
아크의 색상 변경, 시작 및 끝 각도 조정, 다른 이미지 크기 또는 배경색을 사용하여 다른 효과를 생성하는 등의 요구에 따라 아크의 다양한 매개 변수를 조정할 수 있습니다.
<span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">360</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span></span>
이 예제는 0 ~ 360도 범위의 각도가있는 완전한 아크를 그립니다.
<span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span></span>
이 예제는 30도에서 120도 범위의 각도를 가진 곡선 아크를 그립니다.
ImageCreateTruecolor 와 ImageARC 기능을 결합하여 PHP에서 아크 효과로 이미지를 쉽게 만들 수 있습니다. 이 두 기능은 이미지 처리를 매우 유연하게 만들고 곡선 경로 또는 곡선 이미지가 필요한 다양한 응용 시나리오에 적합합니다. 고유 한 시각적 효과를 만들기 위해 요구 사항에 따라 이미지 크기, 색상 및 아크 매개 변수를 자유롭게 조정할 수 있습니다.