ImageOpenPolygon () 은 PHP의 GD 라이브러리에서 함수입니다. 그 기능은 지정된 색상으로 다각형을 그리는 것입니다. 이 다각형의 정점은 좌표 배열을 통해 전달 될 수 있습니다. 다층 이미지 오버레이의 핵심은 여러 레이어의 그래픽을 다양한 방식으로 그림에 그리는 방법입니다.
다중 레이어의 동적 오버레이를 얻으려면 다음 단계를 사용할 수 있습니다.
이미지 생성 또는 열기 : 먼저 기본 이미지가 있거나 새 이미지를 만들어 새 이미지를 만들 수도 있습니다.
여러 다각형 층을 그리십시오 : ImageOpenPolygon ()을 통해 여러 다각형을 그립니다.
동적 효과 : 동적 효과를 달성하기 위해 JavaScript 또는 PHP의 타이밍 기능을 사용하여 각 레이어의 디스플레이 시간 또는 변경을 제어 할 수 있습니다.
다음은 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);
?>
이미지 만들기 : 먼저 imageCreatetRueColor ()를 사용하여 너비가 800px이고 높이가 600px의 빈 이미지를 만듭니다.
배경색 설정 : ImageFill ()을 사용하여 배경을 흰색으로 채 웁니다.
정의 색상 : 세 가지 색상은 imageColorAllocate () , 즉 빨강, 녹색 및 파란색을 사용하여 정의됩니다.
다각형 그리기 : ImageOpenPolygon () 함수를 사용하여 각각 3 개의 정점이있는 다른 색상의 다각형을 그립니다.
동적 효과를 얻으려면 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>
ImageOpenPolygon () 함수를 통해 PHP는 여러 층의 동적 오버레이 효과를 쉽게 구현할 수 있습니다. 실제로, 우리는 이러한 레이어를보다 복잡하게 설계하고 PHP 또는 JavaScript를 통해 동적 디스플레이를 구현할 수 있습니다. 이미지 생성 또는 프론트 엔드 효과 디스플레이에서 ImageOpenPolygon () 은 매우 강력한 도구입니다.