현재 위치: > 최신 기사 목록> ImageOpenPolygon ()을 사용하여 동적 레이어 오버레이 효과를 만드는 방법

ImageOpenPolygon ()을 사용하여 동적 레이어 오버레이 효과를 만드는 방법

M66 2025-05-29

ImageOpenPolygon () 은 PHP의 GD 라이브러리에서 함수입니다. 그 기능은 지정된 색상으로 다각형을 그리는 것입니다. 이 다각형의 정점은 좌표 배열을 통해 전달 될 수 있습니다. 다층 이미지 오버레이의 핵심은 여러 레이어의 그래픽을 다양한 방식으로 그림에 그리는 방법입니다.

2. 다중 계층 중첩 구현 아이디어

다중 레이어의 동적 오버레이를 얻으려면 다음 단계를 사용할 수 있습니다.

  • 이미지 생성 또는 열기 : 먼저 기본 이미지가 있거나 새 이미지를 만들어 새 이미지를 만들 수도 있습니다.

  • 여러 다각형 층을 그리십시오 : ImageOpenPolygon ()을 통해 여러 다각형을 그립니다.

  • 동적 효과 : 동적 효과를 달성하기 위해 JavaScript 또는 PHP의 타이밍 기능을 사용하여 각 레이어의 디스플레이 시간 또는 변경을 제어 할 수 있습니다.

3. 샘플 코드

다음은 ImageOpenPolygon ()을 사용하여 이미지에 다중 동적으로 오버레이드 된 다각형 레이어를 그리는 방법을 보여주는 간단한 예입니다.

 <?php
// 빈 이미지를 만듭니다
$width = 800;
$height = 600;
$image = imagecreatetruecolor($width, $height);

// 배경색을 흰색으로 설정합니다
$backgroundColor = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $backgroundColor);

// 색상을 정의하십시오
$color1 = imagecolorallocate($image, 255, 0, 0);  // 빨간색
$color2 = imagecolorallocate($image, 0, 255, 0);  // 녹색
$color3 = imagecolorallocate($image, 0, 0, 255);  // 파란색

// 여러 다각형의 정점 좌표를 정의하십시오
$polygon1 = [200, 100, 400, 100, 300, 200];
$polygon2 = [300, 200, 500, 200, 400, 300];
$polygon3 = [400, 300, 600, 300, 500, 400];

// 다각형을 그립니다
imageopenpolygon($image, $polygon1, 3, $color1);  // 빨간색
imageopenpolygon($image, $polygon2, 3, $color2);  // 녹색
imageopenpolygon($image, $polygon3, 3, $color3);  // 파란색

// 브라우저에 이미지를 출력합니다
header('Content-Type: image/png');
imagepng($image);

// 무료 메모리
imagedestroy($image);
?>

4. 코드 설명

  • 이미지 만들기 : 먼저 imageCreatetRueColor ()를 사용하여 너비가 800px이고 높이가 600px의 빈 이미지를 만듭니다.

  • 배경색 설정 : ImageFill ()을 사용하여 배경을 흰색으로 채 웁니다.

  • 정의 색상 : 세 가지 색상은 imageColorAllocate () , 즉 빨강, 녹색 및 파란색을 사용하여 정의됩니다.

  • 다각형 그리기 : ImageOpenPolygon () 함수를 사용하여 각각 3 개의 정점이있는 다른 색상의 다각형을 그립니다.

5. 동적 중첩 효과의 구현

동적 효과를 얻으려면 JavaScript를 사용하여 여러 레이어의 점진적인 표시를 제어하거나 서버 측의 타이밍 작업을 사용하여 각 레이어의 렌더링 시간을 제어 할 수 있습니다. 예를 들어, 애니메이션 효과는 가끔씩 이미지를 재생하고 다른 레이어를 반환하여 달성 할 수 있습니다.

다음은 JavaScript 및 Ajax를 사용하여 동적 레이어 오버레이를 구현하는 방법을 보여주는 간단한 예입니다.

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>동적 오버레이 효과</title>
    <script>
        let currentLayer = 1;

        function updateImage() {
            // 현재 레이어 번호를 기반으로 이미지를 동적으로 요청합니다
            let imgElement = document.getElementById("dynamicImage");
            imgElement.src = "image.php?layer=" + currentLayer;
            currentLayer = (currentLayer % 3) + 1; // 층의 루프를 제어하십시오
        }

        setInterval(updateImage, 1000); // 매초마다 이미지를 업데이트하십시오
    </script>
</head>
<body>
    <h1>동적 오버레이 효과</h1>
    <img id="dynamicImage" src="image.php?layer=1" alt="동적으로 중첩 된 이미지">
</body>
</html>

6. 요약

ImageOpenPolygon () 함수를 통해 PHP는 여러 층의 동적 오버레이 효과를 쉽게 구현할 수 있습니다. 실제로, 우리는 이러한 레이어를보다 복잡하게 설계하고 PHP 또는 JavaScript를 통해 동적 디스플레이를 구현할 수 있습니다. 이미지 생성 또는 프론트 엔드 효과 디스플레이에서 ImageOpenPolygon () 은 매우 강력한 도구입니다.