PHP에서 imageFilledRectangle 기능은 이미지에 채우기 사각형을 그리는 데 매우 일반적인 이미지 처리 기능입니다. 기본 기능은 주어진 좌표와 색상으로 이미지에 사각형을 그리며 색상을 채우는 것입니다. 기능 자체는 매우 간단하지만 실제 응용 분야에서는 사각형의 색상을 선택하고 설정하는 방법이 이미지 효과에 영향을 미치는 주요 요소 중 하나입니다.
이 기사는 imageFilledRectangle 함수를 사용할 때 색상을 합리적으로 선택하고 설정하는 방법을 탐색하여 그리기 된 사각형이 아름답고 필요에 따라 일치하도록합니다.
ImageFilledRectangle 함수의 구문은 다음과 같습니다.
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagefilledrectangle</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">$x1</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$y1</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$x2</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$y2</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>
$ 이미지 : 대상 이미지 리소스.
$ x1 , $ y1 : 사각형의 왼쪽 상단 코너 좌표.
$ x2 , $ y2 : 사각형의 오른쪽 하단 코디의 좌표.
$ color : 사각형의 채우기 색상.
이 함수는 지정된 두 개의 코너 ( $ x1 , $ y1 ) 및 ( $ x2 , $ y2 )로 정의 된 사각형을 그립니다. 지정된 색상으로 사각형을 채 웁니다. 색상은 이미지의 팔레트를 통해 지정되므로 일반적으로 색상을 먼저 정의하고 기능으로 전달합니다.
ImageFilledRectangle 함수를 사용하는 경우 일반적으로 색상을 설정하는 두 가지 방법이 있습니다.
ImageColorAllogate 기능은 이미지에 색상을 할당하는 데 사용됩니다. 구문은 다음과 같습니다.
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</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">$red</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$green</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$blue</span></span><span> )
</span></span>
$ 이미지 : 이미지 리소스.
$ red , $ green , $ blue : rgb 색상 값, 값은 0에서 255입니다.
예를 들어, 사각형의 빨간색 채우기 색상을 설정하려면 다음을 수행 할 수 있습니다.
<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">200</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>);
</span><span><span class="hljs-variable">$red</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-title function_ invoke__">imagefilledrectangle</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">190</span></span><span>, </span><span><span class="hljs-number">190</span></span><span>, </span><span><span class="hljs-variable">$red</span></span><span>);
</span></span>
여기에서 우리는 imageColorAllothing을 통해 빨간색을 할당 한 다음 ImageFilledRectangle 함수에 인수로 전달하여 사각형을 채 웁니다.
imagecolorallocatealpha 기능은 imagecoloralloge 와 유사하지만 투명성 설정을 지원합니다. 구문은 다음과 같습니다.
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagecolorallocatealpha</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">$red</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$green</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$blue</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$alpha</span></span><span> )
</span></span>
$ alpha : 값 범위가 0에서 127, 0 인 투명성 값은 완전히 불투명하며 127은 완전히 투명한 것을 의미합니다.
반 트랜스 펜트 채우기 색상을 사각형에 설정하려면 다음을 수행 할 수 있습니다.
<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">200</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>);
</span><span><span class="hljs-variable">$transparent</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocatealpha</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-number">60</span></span><span>); </span><span><span class="hljs-comment">// 60 반투명합니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledrectangle</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">190</span></span><span>, </span><span><span class="hljs-number">190</span></span><span>, </span><span><span class="hljs-variable">$transparent</span></span><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">$red</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">// 빨간색</span></span><span>
</span><span><span class="hljs-variable">$green</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">0</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-comment">// 녹색</span></span><span>
</span><span><span class="hljs-variable">$blue</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">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>); </span><span><span class="hljs-comment">// 파란색</span></span><span>
</span><span><span class="hljs-variable">$yellow</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">0</span></span><span>); </span><span><span class="hljs-comment">// 노란색</span></span><span>
</span><span><span class="hljs-comment">// 직사각형을 그립니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledrectangle</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-variable">$red</span></span><span>); </span><span><span class="hljs-comment">// 빨간색矩形</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledrectangle</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">210</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-variable">$green</span></span><span>); </span><span><span class="hljs-comment">// 녹색矩形</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledrectangle</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-number">210</span></span><span>, </span><span><span class="hljs-variable">$blue</span></span><span>); </span><span><span class="hljs-comment">// 파란색矩形</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledrectangle</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-number">210</span></span><span>, </span><span><span class="hljs-number">210</span></span><span>, </span><span><span class="hljs-variable">$yellow</span></span><span>); </span><span><span class="hljs-comment">// 노란색矩形</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>
이 예에서는 네 가지 색상을 정의하고 ImageFilledRectangle 함수를 사용하여 다른 색상의 4 개의 사각형을 그립니다. 이런 식으로 사용자는 각 사각형의 충전 효과를 명확하게 볼 수 있습니다.
PHP에서 ImageFilledRectangle 함수를 사용하는 경우 색상을 합리적으로 선택하고 설정하는 것이 중요합니다. ImageColorAllother 또는 ImageColorallocatealpha 기능을 사용하면 사각형에 적합한 채우기 색상을 설정할 수 있습니다. 색상을 선택할 때는 배경의 대비, 색맹의 친근감 및 색상의 심리적 효과를 고려하십시오. 적절한 색상 조합만이 그려진 사각형을보다 눈길을 끄고 이해할 수있게하면서 이미지의 시각적 효과와 사용자 경험을 향상시킬 수 있습니다.