현재 위치: > 최신 기사 목록> imageCreateTrueColor 및 imagettftext를 사용하여 다국어 환경에서 글러브를 처리하십시오.

imageCreateTrueColor 및 imagettftext를 사용하여 다국어 환경에서 글러브를 처리하십시오.

M66 2025-06-15

imageCreateTrueColorImagetTfText는 PHP를 사용하여 이미지 생성 및 텍스트 렌더링을 처리 할 때 매우 일반적으로 사용되는 두 가지 기능입니다. 특히 다국어 환경에서는 글꼴이 달린 문제를 다루는 것이 개발에서 일반적인 과제입니다. 이 기사는 예제를 결합 하여이 두 기능을 올바르게 사용하는 방법을 설명하여 중국어 또는 다른 비 영어 캐릭터가 차량으로 표시되는 것을 피합니다.

1. 문제 설명

imageTtfText를 사용하여 다국어 텍스트를 렌더링 할 때 일반적인 문제가 발생합니다. 일반적으로 다음과 같은 이유가 발생합니다.

  1. 글꼴 파일은 대상 언어 문자를 지원하지 않습니다.

  2. 문자열 인코딩은 글꼴과 일치하지 않습니다 (일반적으로 UTF-8 및 GBK의 인코딩 문제).

  3. PHP 스크립트 또는 이미지를 처리 ​​할 때 인코딩이 올바르게 처리되지 않습니다.

2. 솔루션

  1. "simhei.ttf", "notosanscjk.ttf"등과 같은 다국어 문자를 지원하는 .ttf 글꼴 파일을 선택하십시오.

  2. 입력 텍스트가 UTF-8으로 인코딩되어 있는지 확인하십시오.

  3. PHP 스크립트에서는 혼란을 피하기 위해 UTF-8 인코딩을 균일하게 인코딩하십시오.

  4. imageCreateTrueColor를 사용하여 텍스트 색상과 배경색이 올바르게 표시되도록 진정한 색상 이미지를 만듭니다.

3. 샘플 코드

다음 예제는 PHP에서 imageCreatetRuecolorimagettftext를 사용하여 중국 함유 이미지를 생성하는 방법을 보여줍니다.

 <?php
// 내용을 설정하십시오UTF-8코딩
header('Content-Type: image/png; charset=utf-8');

// 넓은 시트를 만듭니다300,높은100진정한 색 캔버스
$width = 300;
$height = 100;
$image = imagecreatetruecolor($width, $height);

// 배경색을 설정하십시오(하얀색)
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

// 텍스트 색상을 설정하십시오(검은색)
$black = imagecolorallocate($image, 0, 0, 0);

// 중국어 텍스트를 작성하십시오,그것이 있는지 확인하십시오UTF-8코딩
$text = "다국어 글꼴 테스트";

// 중국어를 지원하는 글꼴 파일을 선택하십시오,실제 저장 위치에 따라 경로를 조정해야합니다.
$font = __DIR__ . '/fonts/SimHei.ttf';

// 사용 imagettftext 텍스트 렌더링,매개 변수입니다:이미지 리소스、글꼴 크기、각도、x동등 어구、y동등 어구、색상、글꼴 파일 경로、텍스트 내용
imagettftext($image, 20, 0, 10, 50, $black, $font, $text);

// 브라우저에 사진을 출력합니다
imagepng($image);

// 이미지 자원을 파괴하십시오,무료 메모리
imagedestroy($image);
?>

키 포인트 분석 :

  • 글꼴 파일 <br> 사용하는 .ttf 글꼴 파일이 중국어를 지원하는지 확인하십시오. 시스템 글꼴 디렉토리에서 복사하거나 오픈 소스 글꼴을 다운로드 할 수 있습니다. 이 경로는 절대 또는 상대 경로를 사용하고 파일 권한에주의를 기울이는 것이 좋습니다.

  • 코딩
    PHP 파일은 BOM없이 UTF-8으로 저장되며 텍스트 내용 $ 텍스트는 UTF-8에서도 인코딩되어야합니다. 그렇지 않으면 렌더링 할 때 차량이 해제됩니다.

  • 환경 구성 <br> PHP 환경에 GD 라이브러리가 설치되어 있고 프리 타입 글꼴 기능이 지원되는지 확인하십시오.

4. 도메인 이름 예제 설명

URL을 통해 글꼴 리소스 또는 외부 파일을 참조 해야하는 경우 도메인 이름은 예에서 M66.net 으로 대체됩니다.