현재 위치: > 최신 기사 목록> 다각형 도면은 GD 라이브러리를 결합하여 검증 코드 이미지를 생성합니다.

다각형 도면은 GD 라이브러리를 결합하여 검증 코드 이미지를 생성합니다.

M66 2025-05-29

PHP에서 GD 라이브러리는 다각형을 포함한 다양한 그래픽을 그릴 수있는 강력한 이미지 처리 기능을 제공합니다. 검증 코드의 방지 성을 향상시키기 위해 임의의 다각형 패턴의 검증 코드를 생성하려면 ImageOpenPolygon 기능이 매우 유용합니다.

이 기사는 ImageOpenPolygon 및 GD 라이브러리를 사용하여 다각형을 그리는 방법을 자세히 소개하고 간단한 검증 코드 이미지를 생성합니다.

환경 요구 사항

  • PHP 7.0 이상

  • GD 확장이 설치 및 활성화되었습니다 ( phpinfo () 를 통해 활성화되는지 확인할 수 있습니다)

ImageOpenPolygon 이란 무엇입니까?

ImageOpenPolygon 은 GD 라이브러리가 이미지에 열린 다각형을 그리기 위해 제공하는 기능 중 하나입니다 (즉, 선은 시작과 끝에 연결되지 않음). ImagePolygon (닫힌 다각형 그리기)과 달리 ImageOpenPolygon 은 검증 코드의 간섭 선과 같은 열린 곡선이 필요한 장면에 더 적합합니다.

함수 정의는 다음과 같습니다.

 bool imageopenpolygon(GdImage $image, array $points, int $num_points, int $color)
  • $ 이미지 : 그릴 이미지 리소스.

  • $ 포인트 : 포인트 좌표가 포함 된 배열 [x0, y0, x1, y1, x2, y2, ...] .

  • $ num_points : 정점 수.

  • $ 컬러 : 라인 색상.

예 : 다각형 검증 코드를 그립니다

다음은 임의의 다각형으로 검증 코드 이미지를 생성하는 방법에 대한 완전한 예입니다.

 <?php
// 컨텐츠 유형을 그림으로 설정합니다
header('Content-Type: image/png');

// 캔버스를 만듭니다
$width = 200;
$height = 70;
$image = imagecreatetruecolor($width, $height);

// 색상 설정
$backgroundColor = imagecolorallocate($image, 255, 255, 255); // 흰색 배경
$textColor = imagecolorallocate($image, 0, 0, 0);             // 검은 글꼴
$polygonColor = imagecolorallocate($image, 100, 100, 255);    // 파란색 다각형

// 배경을 채우십시오
imagefill($image, 0, 0, $backgroundColor);

// 무작위 검증 코드 텍스트를 생성합니다
$characters = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789';
$captchaText = '';
for ($i = 0; $i < 5; $i++) {
    $captchaText .= $characters[rand(0, strlen($characters) - 1)];
}

// 검증 코드 텍스트를 작성하십시오
$fontSize = 5; // 내장 글꼴 크기
$x = ($width - imagefontwidth($fontSize) * strlen($captchaText)) / 2;
$y = ($height - imagefontheight($fontSize)) / 2;
imagestring($image, $fontSize, $x, $y, $captchaText, $textColor);

// 여러 개의 열린 다각형을 무작위로 그립니다
for ($i = 0; $i < 3; $i++) {
    $points = [];
    $numPoints = rand(3, 6); // 삼각형에서 육각형
    for ($j = 0; $j < $numPoints; $j++) {
        $points[] = rand(0, $width);
        $points[] = rand(0, $height);
    }
    imageopenpolygon($image, $points, $numPoints, $polygonColor);
}

// 출력 이미지
imagepng($image);

// 자원을 파괴하십시오
imagedestroy($image);
?>

실행 효과

위의 PHP 파일을 실행할 때 흰색 배경, 중앙에 임의의 영숫자 문자 세트 및 그 주위에 무작위로 그려진 파란색 열린 다각형이있는 검증 코드가 표시되어 이미지의 간섭이 증가합니다.

주목해야 할 것

  1. GD 확장을 활성화해야합니다 . 활성화되지 않은 경우 APT 설치 PHP-GD 와 같은 명령을 설치하거나 php.ini 편집을 통해 활성화 할 수 있습니다.

  2. 개선 된 검증 코드 복잡성 : 다각형의 수를 늘리고 색상 및 그래픽 크기를 수정하고 자동 인식을 방지함으로써 검증 코드를보다 복잡하게 만들 수 있습니다.

  3. 안전한 출력 : 이미지를 생성하기 전에 HTML 출력이 없으면 이미지 파일이 손상됩니다.

응용 프로그램을 확장하십시오

곡선 텍스트, 회전 효과 및 배경 노이즈 추가와 같이 검증 코드를보다 개인화하려면 PHP 용 Captcha Builder 와 같은 고급 라이브러리를 개발을 위해 사용할 수 있습니다.