현재 위치: > 최신 기사 목록> 투명한 마스킹 효과를 달성하려면 imageecolorallocatealpha () 및 ImageFilledRectangle ()을 사용하십시오

투명한 마스킹 효과를 달성하려면 imageecolorallocatealpha () 및 ImageFilledRectangle ()을 사용하십시오

M66 2025-05-24

PHP에서는 이미지 처리 라이브러리 GD를 사용하여 이미지 편집, 자르기, 텍스트 추가, 그래픽 그리기 및 기타 작업을 수행 할 수 있습니다. 오늘 우리는 이미지에 투명한 마스킹 효과를 추가하기 위해 ImageColarallocatealpha ()ImageFilledRectangle () 함수를 사용하는 방법을 살펴 봅니다.

1. imagecolorallocatealpha () 함수

imagecolorallocatealpha () 는 색상을 할당하고 투명성을 지원하는 데 사용되는 함수입니다. 이미지를 생성 할 때 투명성 (알파 채널)으로 색상을 만듭니다.

기능 프로토 타입은 다음과 같습니다.

 int imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha);
  • $ image : imageCreate () 또는 imageCreatefrom*()를 통해 일반적으로 생성 된 이미지 리소스.

  • $ 빨간색 : 빨간색 구성 요소, 값 범위 0-255.

  • $ Green : 녹색 구성 요소, 값 범위 0-255.

  • $ blue : 파란색 구성 요소, 값 범위 0-255.

  • $ alpha : 값 범위가 0-127 인 투명성, 여기서 0은 총 불투명을 나타내고 127은 완전한 투명성을 나타냅니다.

2. ImageFilledRectangle () 함수

ImageFilledRectangle ()은 채워진 사각형을 그리는 데 사용되며 종종 배경색을 추가하거나 이미지의 일부를 덮는 데 사용됩니다.

기능 프로토 타입은 다음과 같습니다.

 bool imagefilledrectangle(resource $image, int $x1, int $y1, int $x2, int $y2, int $color);
  • $ 이미지 : 이미지 리소스.

  • $ x1, $ y1 : 사각형의 시작점 좌표.

  • $ x2, $ y2 : 사각형의 종점 좌표.

  • $ color : 일반적으로 ImageColorallocatealpha () 함수에 의해 생성 된 사각형의 채우기 색상.

3. 투명한 마스킹 효과를 달성하십시오

이미지에서 투명한 마스크 효과를 달성하기 위해 imageColoralLocateAlpha ()ImageFilledRectangle ()을 사용합니다. 다음은 이미지에 투명한 직사각형 마스크를 추가하는 방법을 보여주는 샘플 코드입니다.

샘플 코드 :

 <?php
// 사진로드
$image = imagecreatefromjpeg('path_to_your_image.jpg');

// 이미지의 너비와 높이를 얻으십시오
$width = imagesx($image);
$height = imagesy($image);

// 투명한 회색 마스크를 만듭니다
$maskColor = imagecolorallocatealpha($image, 0, 0, 0, 75);  // 75 투명성입니다,투명도가 높아집니다

// 마스크 사각형을 그립니다
imagefilledrectangle($image, 50, 50, $width - 50, $height - 50, $maskColor);  // 이미지에 직사각형 마스크를 그립니다

// 출력 이미지
header('Content-Type: image/png');
imagepng($image);

// 이미지 자원을 파괴하십시오
imagedestroy($image);
?>

4. 코드 분석

  1. 사진로드 :
    imageCreateFromjPeg () 함수를 사용하여 이미지를 JPEG 형식으로로드하십시오. 실제 요구에 따라 imageCreateFrompng ()imageCreateFromGif () 와 같은 다른 기능을 선택할 수 있습니다.

  2. 이미지 너비와 높이 얻기 :
    ImagesX ()ImagesY ()를 통해 이미지의 너비와 높이를 얻으십시오. 마스크의 크기를 결정하는 데 매우 중요합니다.

  3. 투명한 색상 만들기 :
    ImageColoralLocatealpha () 함수는 투명성을 가진 색상을 만드는 데 사용됩니다. 이 예제는 RGB 값 (0, 0, 0) 을 사용하여 검은 색을 생성하고 투명성을 75 (더 투명한)로 설정합니다.

  4. 드로우 마스크 :
    ImageFilledRectangle () 함수를 사용하여 시작점 좌표 (50, 50) 와 엔드 포인트 좌표 (너비 -50, 높이 -50) 로 이미지에 채우기 사각형을 그립니다.

  5. 출력 이미지 :
    ImagePng ()를 사용하여 이미지를 출력하고 올바른 컨텐츠 유형 헤더를 설정하여 브라우저가 이미지를 올바르게 인식하고 표시하도록합니다.

  6. 이미지 자원 파괴 :
    ImageStroy ()를 사용하여 이미지 리소스를 파괴하고 메모리를 확보하십시오.

5. 요약

ImageColorallocatealpha ()ImageFilledRectangle () 의 조합으로 PHP에서 이미지의 투명한 마스킹 효과를 쉽게 달성 할 수 있습니다. 이 방법은 다양한 이미지 형식 (예 : JPEG, PNG, GIF 등)에 적합 할뿐만 아니라 실제 요구에 따라 투명성 및 마스크 위치를 조정할 수 있습니다.

이 기사가 GD 라이브러리를 사용하여 PHP에서 투명한 마스킹을 구현하고 이미지 처리 기능을 향상시키는 기술을 마스터하는 데 도움이되기를 바랍니다.