현재 위치: > 최신 기사 목록> imagestringup 및 imagecreatetrecolor와 함께 수직 텍스트 이미지를 만드는 방법? 완전한 단계 분석

imagestringup 및 imagecreatetrecolor와 함께 수직 텍스트 이미지를 만드는 방법? 완전한 단계 분석

gitbox 2025-07-03

1. 이미지 캔버스를 초기화합니다

먼저, 우리는 그 내용을 그리기 콘텐츠를 용이하게하기 위해 빈 캔버스를 만들어야합니다. imageCreatetRueColor () 함수는 진정한 색상 캔버스를 만드는 데 사용되어 이미지의 너비와 높이를 설정할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 그림의 너비와 높이를 설정하십시오</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-variable">$height</span></span><span> = </span><span><span class="hljs-number">100</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__">imagecreatetruecolor</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-meta">?&gt;</span></span><span>
</span></span>

이 단계에서는 그림을 위해 300 픽셀 너비와 100 픽셀 높이를 정의합니다.

2. 색상을 할당합니다

imageColorAllocate () 함수를 사용하여 이미지에 색상을 할당 할 수 있습니다. 이 함수에서 반환 된 색상은 텍스트, 배경 등을 그리는 데 사용될 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 색상을 할당합니다</span></span><span>
</span><span><span class="hljs-variable">$bgColor</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-meta">?&gt;</span></span><span>
</span></span>

이 예에서는 이미지의 흰색 배경색과 검은 색 텍스트 색상을 설정했습니다.

3. 배경을 채우십시오

다음으로 ImageFill () 또는 ImageFillToBorder () 함수를 사용하여 배경을 채우십시오. 이 작업은 캔버스에 통일 된 배경색을 갖도록합니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 흰색으로 채워진 배경</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">$bgColor</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4. 수직 텍스트를 그립니다

이 단계는 핵심입니다. imagestringup () 함수를 사용하여 수직 텍스트를 그립니다. imagestringup ()는 이미지의 수직 방향을 따라 텍스트를 그리는 데 사용됩니다. 매개 변수는 다음과 같습니다.

  • $ 이미지 : 그릴 이미지 리소스

  • $ font : 글꼴 크기

  • $ X : 텍스트의 수평 축

  • $ Y : 텍스트의 수직 좌표

  • $ string : 그려야 할 텍스트

  • $ 색상 : 글꼴 색상

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 사용 imagestringup 수직 텍스트를 그립니다</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-string">"수직 텍스트"</span></span><span>, </span><span><span class="hljs-variable">$textColor</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

이 예에서는 본문 "수직 텍스트" 를 캔버스의 좌표 (50, 50) 에 그립니다. 텍스트는 수직으로 표시됩니다.

5. 출력 이미지

도면이 완료되면 이미지를 파일로 출력하거나 브라우저에 직접 표시하도록 선택할 수 있습니다. ImagePng () 또는 ImageJpeg () 와 같은 함수를 사용하여 이미지를 다른 형식으로 출력하거나 Header () 함수를 사용하여 이미지를 브라우저에 직접 출력하십시오.

 <span><span><span class="hljs-meta">&lt;?php</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">?&gt;</span></span><span>
</span></span>

이 코드는 이미지 형식 PNG와 함께 이미지를 브라우저에 직접 출력합니다. 출력이 완료되면 ImageStroy ()를 호출하여 메모리를 제거하십시오.

6. 코드 예제 완료

위의 단계를 결합하여 전체 코드 예제는 다음과 같습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 그림의 너비와 높이를 설정하십시오</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-variable">$height</span></span><span> = </span><span><span class="hljs-number">100</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__">imagecreatetruecolor</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-comment">// 색상을 할당합니다</span></span><span>
</span><span><span class="hljs-variable">$bgColor</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-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">$bgColor</span></span><span>);

</span><span><span class="hljs-comment">// 사용 imagestringup 수직 텍스트를 그립니다</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-string">"수직 텍스트"</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">?&gt;</span></span><span>
</span></span>

7. 효과 및 요약

위 코드를 실행 한 후 수직 텍스트가 포함 된 이미지가 표시됩니다. 이 과정에서 imageCreateTrueColor ()를 사용하여 캔버스를 만들고, imageColorAllocate ()를 할당하고 imagestringup ()를 수직 텍스트를 그리며 imagepng () 를 통해 이미지를 출력합니다.

이 단계를 통해 수직 텍스트가 포함 된 이미지를 쉽게 만들어 웹 페이지, 이미지 처리 및 기타 시나리오에 적용 할 수 있습니다. 이 기사의 구문 분석이 PHP 이미지 처리의 기본 작업, 특히 Imagestringup ()을 사용하여 수직 텍스트를 그리는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.