imagestringup () 는 PHP GD 라이브러리에서 이미지에 수직 텍스트를 그리는 함수입니다. Imagestring () 함수와 마찬가지로 imagestringup ()는 이미지에서 지정된 위치에 텍스트를 그릴 수 있지만 그 특성은 텍스트가 수평이 아닌 수직으로 정리된다는 것입니다.
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagestringup</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">$font</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$x</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$y</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$text</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>매개 변수 설명 :
이미지 : 대상 이미지 리소스는 imageCreate () , imageCreatefromjpeg () 와 같은 함수에 의해 생성됩니다.
글꼴 : 글꼴 크기, GD 라이브러리에서 사전 설정 글꼴을 사용하거나 사용자 정의 글꼴의 크기를 지정하십시오.
X : 텍스트의 시작 위치의 x 좌표.
Y : 텍스트의 시작 위치의 y 좌표.
텍스트 : 그려야 할 텍스트 문자열.
색상 : 텍스트 색상, 일반적으로 imageColorAllocate () 함수에 의해 생성됩니다.
이 함수는 드로잉 작동이 성공했는지 여부를 나타내는 정수를 반환하지만 일반적으로 반환 값에 대해 신경 쓰지 않아도됩니다.
이미지에 수직 텍스트를 그리려면 기본 작동 프로세스는 imagestring () 대신 imagestringup ()가 사용되는 것을 제외하고는 텍스트를 수평으로 그리는 것과 유사합니다. 수직 텍스트를 그리는 특정 단계는 다음과 같습니다.
이미지 리소스를 만듭니다.
색상 자원을 할당하십시오.
ImagestringUp () 함수를 사용하여 이미지에 텍스트를 그립니다.
이미지를 브라우저에 출력하거나 파일에 저장하십시오.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 빈 진정한 색상 이미지를 만듭니다</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreate</span></span><span>(</span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">200</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">// 흰색 배경</span></span><span>
</span><span><span class="hljs-variable">$textColor</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">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-variable">$text</span></span><span> = </span><span><span class="hljs-string">"수직 텍스트 예제"</span></span><span>;
</span><span><span class="hljs-comment">// 수직 텍스트를 그립니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagestringup</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-variable">$textColor</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>위의 코드에서는 300x200의 빈 이미지를 만들고 배경을 흰색으로 설정하고 텍스트 색상을 검은 색으로 설정합니다. 그런 다음 이미지에 imagestringup () 함수를 호출하여 이미지에 수직 텍스트 "수직 텍스트 예"를 그립니다. 마지막으로, 이미지는 PNG 형식의 브라우저로 출력되며 이미지 리소스가 파괴되어 메모리를 확보합니다.
ImagestringUp () 함수의 글꼴 크기는 두 번째 매개 변수에 의해 결정됩니다. 이 매개 변수 값은 글꼴의 크기를 나타내는 숫자입니다. 글꼴 크기가 클수록 텍스트가 두껍고 텍스트가 높아집니다. 글꼴 크기는 실제 요구에 따라 조정할 수 있습니다.
imagestringup ()을 호출 할 때는 리터럴 ( x 및 y )의 시작 좌표를 제공해야합니다. 텍스트가 수직으로 배열되므로 X 좌표는 텍스트의 수평 위치를 결정하고 y 좌표는 텍스트의 수직 시작점을 결정합니다. 이 두 매개 변수를 조정하여 텍스트의 정확한 위치를 제어 할 수 있습니다.
Imagestringup () 함수는 내장 글꼴 (예 : 숫자 5로 표시되는 글꼴)의 사용 만 지원합니다. 더 복잡하거나 다른 스타일의 글꼴이 필요한 경우 imagetftext () 함수를 사용하는 것이 좋습니다.이 기능을 사용하면 Truetype 글꼴을 사용하여 텍스트를 그릴 수 있습니다. imagestringup () 는 간단한 수직 텍스트 그리기 요구에 적합하지만 더 복잡한 글꼴 컨트롤이 필요한 경우 imagettftext ()가 더 나은 선택이 될 것입니다.
수직 텍스트가 명확하고 읽을 수 있으려면 배경과 대조되는 색상을 선택하는 것이 좋습니다. 밝은 배경의 경우 어두운 텍스트를 사용하고 그 반대도 마찬가지입니다.
텍스트를 너무 길거나 글꼴이 크면 이미지의 경계를 초과 할 수 있습니다. 그림을 그리기 전에 텍스트의 너비와 높이를 계산하여 이미지 크기가 모든 텍스트를 수용하기에 충분한 지 확인할 수 있습니다.