이미지 처리 분야에서 투명한 이미지의 드로잉 기술은 특히 복잡한 다각형 그래픽 오버레이 효과를 구현해야 할 때 매우 중요합니다. PHP는 인기있는 서버 측 프로그래밍 언어로서 일부 내장 이미지 처리 기능을 제공합니다. ImageOpenPolygon () 은 다각형을 그리는 데 사용할 수있는 기능 중 하나입니다. 이 기사는 ImageOpenPolygon () 함수를 사용하는 방법과 투명 배경을 결합하여 다각형의 투명한 오버레이 효과를 달성하는 방법을 소개합니다.
PHP에서 imageOpenPolygon () 함수는 주로 폐쇄 다각형을 그리는 데 사용됩니다. 포인트 배열이 필요하고 직선으로 연결하여 다각형을 형성합니다. 그러나 기본적으로 PHP에 의해 그려진 다각형은 투명하지 않습니다. 투명성을 달성하려면 투명성 (예 : PNG)을 지원하는 이미지 형식을 사용하고 추가 구성을 수행해야합니다.
먼저 투명성을 지원하는 이미지를 만들어야합니다. PHP에서는 ImageCreatetRueColor () 함수를 통해 진정한 색상 캔버스를 생성하고 투명한 배경을 설정할 수 있습니다. 코드는 다음과 같습니다.
<?php
// a 500x500 투명한 배경 이미지
$image = imagecreatetruecolor(500, 500);
// 투명한 지원을 켜십시오
imagesavealpha($image, true);
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127); // 127 완전히 투명합니다
imagefill($image, 0, 0, $transparent);
// 출력 이미지
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
위의 코드에서 imageCreatetRueColor ()는 500x500 픽셀 캔버스를 생성하고 ImagesAvealpha ()는 이미지의 투명 채널을 활성화하고 imageColoralLocateAlpha () 를 통해 투명한 색상을 설정합니다.
그런 다음 ImageOpenPolygon () 함수를 사용하여 생성 된 이미지에 다각형을 그립니다. 먼저, 다각형의 정점 좌표를 정의하고 적절한 색상으로 채워야합니다. 투명한 오버레이를 달성하기 위해 반투명 색상을 설정합니다.
<?php
// 다각형의 정점 좌표를 정의하십시오
$points = [
250, 100, // 꼭지점1
350, 200, // 꼭지점2
300, 300, // 꼭지점3
200, 300, // 꼭지점4
150, 200 // 꼭지점5
];
// 투명한 색상을 만듭니다
$polygonColor = imagecolorallocatealpha($image, 255, 0, 0, 64); // 반투명 빨간색
// 다각형을 그립니다
imagefilledpolygon($image, $points, 5, $polygonColor);
// 출력 이미지
imagepng($image);
imagedestroy($image);
?>
위의 코드에서, ImageFilledPolygon ()은 견고한 다각형을 그리는 데 사용되는 반면, ImageColorallocatealpha () 는 투명도 값이 64 인 반투명 빨간색을 생성하여 그림의 투명한 오버레이 효과를 달성합니다.
배경 이미지가 있고 투명한 다각형을 그려서 imageCreateFrommpng () 또는 기타 이미지 읽기 기능을 사용하여 배경 이미지를로드 한 다음 그릴 수 있습니다. 다음은 배경 이미지를로드하고 투명 다각형을 그리는 예입니다.
<?php
// 배경 이미지로드
$background = imagecreatefrompng('background.png');
// 이미지 크기를 얻으십시오
$width = imagesx($background);
$height = imagesy($background);
// a透明画布并合并到背景图
$image = imagecreatetruecolor($width, $height);
imagesavealpha($image, true);
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparent);
// 배경 이미지를 새 이미지에 병합하십시오
imagecopy($image, $background, 0, 0, 0, 0, $width, $height);
// 定义多边形꼭지점坐标
$points = [
100, 100,
200, 100,
200, 200,
100, 200
];
// 使用半透明的颜色다각형을 그립니다
$polygonColor = imagecolorallocatealpha($image, 0, 255, 0, 64); // 반투명 녹색
imagefilledpolygon($image, $points, 4, $polygonColor);
// 최종 이미지를 출력하십시오
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
imagedestroy($background);
?>
이 코드에서는 먼저 PNG 배경 이미지를로드하고 새 투명 이미지를 작성한 다음 배경 이미지를 새 이미지에 복사합니다. 다음으로, 투명한 녹색 다각형이 그려져 배경 이미지에 중첩됩니다.
ImageOpenPolygon () 및 ImageFilledPolygon ()을 사용하여 다각형 그림을 쉽게 그릴 수 있습니다. 투명성 설정을 합리적으로 사용하고 PHP의 투명한 이미지 기술을 결합함으로써 다중 오버레이 효과가 생성 될 수 있습니다. 이 팁은 그래픽, 애니메이션 및 사용자 인터페이스를 만들 때 웹 개발자에게 많은 유연성과 창의적인 공간을 제공합니다. 이 기사가 투명한 이미지 그리기 기술을 마스터하여 이미지 처리를보다 생생하고 흥미롭게 만드는 데 도움이되기를 바랍니다.
이 프로세스에서는 URL 관련 이미지 파일 경로를 사용했지만 경로의 도메인 이름 부분을 M66.net 으로 교체 해야하는 경우 다음은 수정 된 코드 예입니다.