현재 위치: > 최신 기사 목록> ImagesAvealpha ()와 함께 이미지 투명 채널을 설정하는 방법

ImagesAvealpha ()와 함께 이미지 투명 채널을 설정하는 방법

M66 2025-05-22

PHP에서는 이미지의 투명한 채널을 설정하여 이미지가 투명한 배경을 지원할 수 있도록 ImageColarallocatealpha 함수와 ImagesAvealpha 함수를 사용할 수 있습니다. 이것은 PNG 이미지, 이동 이미지 처리 또는 이미지 편집을 생성 할 때 투명성을 유지하는 데 매우 유용합니다. 이 기사는이 두 기능을 사용하여 투명한 이미지를 처리하는 방법을 자세히 설명합니다.

1. 빈 이미지를 만들고 투명한 배경을 설정합니다.

먼저 빈 이미지를 만들고 색상을 할당해야합니다. 이미지가 투명한 배경을 지원하려면 이미지의 투명한 색상을 설정해야합니다.

 <?php
// a 500x500 빈 이미지
$image = imagecreatetruecolor(500, 500);

// 투명성 정보를 절약 할 수 있습니다
imagesavealpha($image, true);

// 투명한 색상을 설정하십시오 (통과하다 imagecolorallocatealpha 색상을 할당합니다)
// imagecolorallocatealpha(의지, 빨간색, 녹색, 파란색, 투명도)
// 투명도的范围是 0 도착하다 127,0 총 불투명성을 나타냅니다,127 완전한 투명성을 나타냅니다
$transparent = imagecolorallocatealpha($image, 255, 255, 255, 127);

// 이미지 배경을 투명하게 채우십시오
imagefill($image, 0, 0, $transparent);

// 다른 드로잉 작업은 여기에서 수행 할 수 있습니다

// 출력 이미지(테스트 용,우리는 이미지를 저장합니다)
imagepng($image, "transparent_image.png");

// 销毁图像의지
imagedestroy($image);
?>

설명하다:

  1. imageCreatetRueColor ()는 500x500의 진정한 색상 이미지 리소스를 만듭니다.

  2. ImagesAvealpha () 함수는 이미지 투명성 지원을 가능하게하므로 PNG 이미지를 저장할 때 투명 채널을 유지할 수 있습니다.

  3. ImageColoralLocatealpha () 함수는 이미지에 투명한 색상을 할당합니다. 이 예에서는 이미지 배경에 대해 완전히 투명한 색상을 설정합니다 (투명성은 127).

  4. ImageFill ()은 전체 이미지를 투명한 배경으로 채 웁니다.

2. 투명한 배경으로 다른 요소를 그립니다

투명한 배경을 가진 이미지에 다른 요소를 그려 보려면 imagecolorallocatealpha 기능을 사용하여 다른 투명성을 설정할 수 있습니다. 예를 들어, 이미지에 투명성이있는 사각형을 그릴 수 있습니다.

 <?php
// a 500x500 빈 이미지
$image = imagecreatetruecolor(500, 500);

// 투명성 정보를 절약 할 수 있습니다
imagesavealpha($image, true);

// 투명한 배경을 설정하십시오
$transparent = imagecolorallocatealpha($image, 255, 255, 255, 127);
imagefill($image, 0, 0, $transparent);

// 반투명 사각형 색상을 설정하십시오
$semiTransparent = imagecolorallocatealpha($image, 255, 0, 0, 64); // 半透明的빨간색

// 반투명 사각형을 그립니다
imagefilledrectangle($image, 50, 50, 200, 200, $semiTransparent);

// 출력 이미지
imagepng($image, "semi_transparent_rectangle.png");

// 销毁图像의지
imagedestroy($image);
?>

설명하다:

  • 이 코드에서는 사각형에 대한 반투명 빨간색을 설정합니다 (투명성은 64). 이런 식으로 직사각형 영역은 특정 투명한 효과를 가져 오며 직사각형 부분을 통해 배경을 볼 수 있습니다.

3. 투명한 채널로 이미지를 저장하고 출력하십시오

ImageColarallocatealphaImagesAvealpha 함수를 사용하는 경우 PNG와 같은 투명한 형식으로 이미지를 저장하십시오.

 <?php
// a 500x500 빈 이미지
$image = imagecreatetruecolor(500, 500);

// 투명성 정보를 절약 할 수 있습니다
imagesavealpha($image, true);

// 투명한 배경을 설정하십시오
$transparent = imagecolorallocatealpha($image, 255, 255, 255, 127);
imagefill($image, 0, 0, $transparent);

// 여기에서 다른 요소를 그릴 수 있습니다...

// 출력 이미지도착하다浏览器
header('Content-Type: image/png');
imagepng($image);

// 销毁图像의지
imagedestroy($image);
?>

설명하다:

이 예에서는 ImagePng ()을 통해 이미지를 브라우저에 직접 출력합니다. 브라우저가 이미지 유형을 올바르게 인식하는지 헤더 ( 'content-type : image/png')를 사용해야합니다.

PHP는 ImageColorallocatealphaImagesAvealpha 기능을 사용하여 투명 채널로 이미지를보다 간단하고 효율적으로 만듭니다. 투명한 배경으로 이미지를 만들거나 이미지에 투명성이있는 드로잉 요소를 만들면 더 많은 유연성과 제어가 제공됩니다.