현재 위치: > 최신 기사 목록> PNG 이미지에 투명한 색상을 추가하는 방법

PNG 이미지에 투명한 색상을 추가하는 방법

M66 2025-05-18

PHP에서 imagecolorallocatealpha 함수는 이미지에 색상을 할당하는 데 사용되며 이미지의 투명성 설정을 지원합니다. 이 기능은 PNG 형식이 투명성을 지원하기 때문에 종종 PNG 이미지를 처리하는 데 사용됩니다. 이 기능을 사용하면 이미지의 픽셀 투명성으로 색상을 설정하여 투명한 배경 또는 부분적으로 투명한 요소를 가진 이미지를 생성 할 수 있습니다.

기능 개요

imagecolorallocatealpha 함수는 다음과 같이 정의됩니다.

 int imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha)
  • $ image : 대상 이미지 리소스, 일반적으로 imageCreateFrommpng () 또는 imageCreateTrecolor () 와 같은 함수에 의해 생성 된 이미지 리소스입니다.

  • $ RED , $ GREEN , $ BLUE : 0에서 255 사이의 값을 가진 색상의 RGB 구성 요소입니다.

  • $ ALPHA : 0에서 127까지의 색상의 투명도 값은 완전히 불투명하고 127은 완전히 투명한 것을 의미합니다.

샘플 코드

다음은 ImageColorallocatealpha 기능을 사용하여 PNG 이미지에 투명한 색상을 추가하는 방법을 보여주는 간단한 예입니다.

 <?php
// 로드 a PNG 영상
$image = imagecreatefrompng('input.png');

// 투명성으로 색상을 할당하십시오
$red = 255;
$green = 0;
$blue = 0;
$alpha = 63; // 반투명 빨간색

$transparentRed = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

// 在영상中绘制一个半透明的矩形
imagefilledrectangle($image, 50, 50, 200, 200, $transparentRed);

// 设置영상为 PNG 체재,출력을 저장하십시오
imagesavealpha($image, true); // 확실하게 하다 alpha 채널 절약
imagepng($image, 'output.png');

// 무료 메모리
imagedestroy($image);
?>

코드 구문 분석

  1. 이미지로드 : 먼저 imageCreateFrommpng () 함수를 통해 PNG 이미지를로드합니다. 이미지가 다른 형식 (예 : jpeg) 인 경우 imageCreatefromjpeg ()를 사용할 수 있습니다.

  2. 색상 할당 : imagecolorallocatealpha 함수를 통해 빨간색을 생성하고 투명성을 63 (즉, 반 트랜스 펜트)으로 설정합니다.

  3. 그래프 그리기 : ImageFilledRectangle 함수를 사용하여 이미지에 반투명 사각형을 그립니다.

  4. 이미지 저장 : ImagePng ()을 통해 처리 된 이미지를 PNG 형식으로 저장하고 투명성 정보가 ( ImagesAvealpha () 함수를 통해)를 유지하는지 확인하십시오.

  5. Free Memory : 마지막으로, 우리는 imageestroy ()를 통해 이미지 리소스를 릴리스합니다.

주목해야 할 것

  • PNG 이미지에서는 투명성이 매우 중요합니다. 특히 이미지가 부분적으로 투명하거나 배경이없는 경우에 투명성이 매우 중요합니다. PNG 형식은 투명 채널 (알파 채널)을 지원하지만 JPG 형식은 그렇지 않습니다.

  • 투명성 값이 작을수록 색상이 더 불투명합니다. 투명성 값이 클수록 색상이 더 투명합니다.

  • ImageColallocatealphaImageColorAllogate 의 차이점은 후자가 투명성을 지원하지 않으며 투명성이 필요하지 않은 이미지에만 적합하다는 것입니다.

샘플 응용 프로그램

아이콘이나 로고가 있고 배경이 투명 해지거나 일부 영역에서 반투명 효과를 만들어 내고 싶다고 가정하십시오. 이러한 효과는 Imagecolorallocatealpha를 사용하여 쉽게 달성 할 수 있으며, 특히 웹 개발의 그래픽 처리 및 생성에 적합합니다.