현재 위치: > 최신 기사 목록> ImageOpenPolygon () 및 투명한 이미지 그리기 기술

ImageOpenPolygon () 및 투명한 이미지 그리기 기술

M66 2025-05-18

이미지 처리 분야에서 투명한 이미지의 드로잉 기술은 특히 복잡한 다각형 그래픽 오버레이 효과를 구현해야 할 때 매우 중요합니다. PHP는 인기있는 서버 측 프로그래밍 언어로서 일부 내장 이미지 처리 기능을 제공합니다. ImageOpenPolygon () 은 다각형을 그리는 데 사용할 수있는 기능 중 하나입니다. 이 기사는 ImageOpenPolygon () 함수를 사용하는 방법과 투명 배경을 결합하여 다각형의 투명한 오버레이 효과를 달성하는 방법을 소개합니다.

1. ImageOpenPolygon () 함수의 개요

PHP에서 imageOpenPolygon () 함수는 주로 폐쇄 다각형을 그리는 데 사용됩니다. 포인트 배열이 필요하고 직선으로 연결하여 다각형을 형성합니다. 그러나 기본적으로 PHP에 의해 그려진 다각형은 투명하지 않습니다. 투명성을 달성하려면 투명성 (예 : PNG)을 지원하는 이미지 형식을 사용하고 추가 구성을 수행해야합니다.

2. 투명한 이미지를 만들고 포맷하십시오

먼저 투명성을 지원하는 이미지를 만들어야합니다. 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 () 를 통해 투명한 색상을 설정합니다.

3. ImageOpenPolygon ()을 사용하여 다각형을 그리십시오.

그런 다음 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 인 반투명 빨간색을 생성하여 그림의 투명한 오버레이 효과를 달성합니다.

4. 추가 최적화 : 기존 이미지에 다각형을 그립니다

배경 이미지가 있고 투명한 다각형을 그려서 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 배경 이미지를로드하고 새 투명 이미지를 작성한 다음 배경 이미지를 새 이미지에 복사합니다. 다음으로, 투명한 녹색 다각형이 그려져 배경 이미지에 중첩됩니다.

5. 요약

ImageOpenPolygon ()ImageFilledPolygon ()을 사용하여 다각형 그림을 쉽게 그릴 수 있습니다. 투명성 설정을 합리적으로 사용하고 PHP의 투명한 이미지 기술을 결합함으로써 다중 오버레이 효과가 생성 될 수 있습니다. 이 팁은 그래픽, 애니메이션 및 사용자 인터페이스를 만들 때 웹 개발자에게 많은 유연성과 창의적인 공간을 제공합니다. 이 기사가 투명한 이미지 그리기 기술을 마스터하여 이미지 처리를보다 생생하고 흥미롭게 만드는 데 도움이되기를 바랍니다.

이 프로세스에서는 URL 관련 이미지 파일 경로를 사용했지만 경로의 도메인 이름 부분을 M66.net 으로 교체 해야하는 경우 다음은 수정 된 코드 예입니다.