PHP에서 imagecolorallocatealpha () 함수는 이미지에 색상을 할당하는 데 사용되는 함수입니다. 특히 색상의 투명성 (알파 채널)을 지정할 수 있습니다. 이 기능은 일반적으로 투명한 배경을 가진 이미지에 색상을 추가하거나 이미지에서 일부 처리를 수행 할 때 투명성을 제어하려는 등 이미지 처리 중에 사용됩니다.
int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )
$ im
$ 빨간색 : 값 범위가 0에서 255 인 빨간색 구성 요소입니다.
$ green : 값 범위가 0에서 255 인 녹색 구성 요소입니다.
$ blue : 값 범위가 0 ~ 255 인 파란색 구성 요소.
$ alpha : 값 범위가 0 (완전히 불투명) ~ 127 (완전히 투명) 인 투명성 구성 요소.
이 함수는 지정된 색상의 인덱스 값을 반환하고 실패한 경우 -1 .
다음은 imagecolorallocatealpha ()를 사용하여 투명한 배경을 가진 이미지를 만들고 투명성이있는 사각형을 그리는 방법을 보여주는 간단한 예입니다.
<?php
// 넓은 것을 만듭니다500px,높은500px빈 이미지
$image = imagecreatetruecolor(500, 500);
// 완전히 투명한 배경색을 할당하십시오
$transColor = imagecolorallocatealpha($image, 0, 0, 0, 127); // 빨간색、녹색、모든 블루스가 있습니다0,완전히 투명합니다(alpha = 127)
// 이미지의 투명한 배경을 설정합니다
imagefill($image, 0, 0, $transColor);
// 分配一个빨간색半透明的颜色
$redColor = imagecolorallocatealpha($image, 255, 0, 0, 63); // 半透明빨간색(alpha = 63)
// 绘制一个半透明的빨간색矩形
imagefilledrectangle($image, 50, 50, 450, 450, $redColor);
// 이미지를 출력하여 파일에 저장하십시오
imagepng($image, "image_with_transparency.png");
// 이미지 자원을 파괴하십시오
imagedestroy($image);
?>
먼저 500x500 이미지 리소스를 만들었습니다.
ImageColoralLocatealpha ()를 사용하여 완전히 투명한 색상을 할당하고 이미지 배경을 ImageFill () 로 채 웁니다.
그런 다음 반투명 빨간색을 생성하고 ImageFilledRectangle ()을 사용하여 이미지에 사각형을 그립니다.
마지막으로 ImagePng () 함수를 통해 이미지를 PNG 형식으로 저장하고 이미지 리소스를 파괴하십시오.
imagecolorallocatealpha ()는 PNG 또는 GIF와 같은 투명성을 지원하는 이미지 형식에서만 사용할 수 있습니다. JPEG 이미지에서 투명한 색상을 사용하려고하면 작동하지 않습니다.
알파 값은 0에서 127 사이이며, 0은 완전히 불투명하고 127은 완전히 투명하다는 것을 의미합니다. 실제 요구에 따라 투명성을 조정할 수 있습니다.
이미지를 업로드하고 ImageColoralLocatealpha ()를 사용하여 이미지에서 투명한 배경을 처리해야한다고 가정하면 다음 코드를 참조 할 수 있습니다.