웹 디자인과 동적 이미지 생성에서 투명한 효과는 이미지의 미학과 실용성을 크게 향상시킬 수 있습니다. PHP의 GD 라이브러리는 매우 유용한 기능을 제공합니다. imagecolallocatealpha () 는 투명성이있는 색상을 만들 수 있으므로 동적으로 생성 된 이미지에서 투명한 효과를 달성 할 수 있습니다. 이 기사에서는이 기능을 사용하여 아이콘에 투명한 테두리를 추가하는 방법을 설명합니다.
imageColoralLocateAlpha ()를 사용하려면 먼저 PHP 환경에서 GD 라이브러리가 활성화되어 있는지 확인해야합니다. 다음 코드를 통해 확인할 수 있습니다.
<?php
if (extension_loaded('gd')) {
echo "GD library is enabled.";
} else {
echo "GD library is not enabled.";
}
?>
출력 프롬프트 GD 라이브러리가 활성화되면 계속할 수 있습니다.
이 기능의 기본 구문은 다음과 같습니다.
int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )
매개 변수 설명 :
$ 이미지 : GD 이미지 리소스.
$ RED , $ GREEN , $ BLUE : RGB 값 색상 (0-255).
$ Alpha : 투명성 (0은 완전히 불투명하고 127은 완전히 투명합니다).
다음으로, 주변의 투명한 경계 원으로 100x100 픽셀 원형 아이콘을 생성하는 완전한 예제를 작성해 봅시다.
<?php
// 만들다100x100픽셀의 진정한 색상 이미지
$width = 100;
$height = 100;
$image = imagecreatetruecolor($width, $height);
// 열려 있는alpha채널 절약
imagesavealpha($image, true);
// 만들다完全透明的背景色
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparent);
// 만들다主图标颜色(예를 들어, 파란색)
$blue = imagecolorallocatealpha($image, 0, 102, 204, 0); // 불투명도 블루
// 만들다透明边框颜色(예를 들어, 밝은 회색,그러나 투명성이 있습니다)
$border = imagecolorallocatealpha($image, 200, 200, 200, 80);
// 투명한 경계로 원을 그립니다
$radius = 40;
$centerX = $width / 2;
$centerY = $height / 2;
// 국경을 그리십시오(조금 더 크고 둥글다)
imagefilledellipse($image, $centerX, $centerY, $radius * 2 + 10, $radius * 2 + 10, $border);
// 본체 원을 그립니다
imagefilledellipse($image, $centerX, $centerY, $radius * 2, $radius * 2, $blue);
// 출력 이미지PNG문서(투명성을 유지하십시오)
header('Content-Type: image/png');
imagepng($image);
// 무료 메모리
imagedestroy($image);
?>
위의 코드를 Icon.php 로 저장하고 서버에 넣고 (예 : https://m66.net/icon.php ) 브라우저에 액세스하면 생성 된 아이콘이 표시됩니다.
알아채다:
PNG 형식이 저장 될 때 투명한 정보가 유지되도록 ImagesAvealpha ()를 사용했습니다.
테두리는 밝은 회색을 사용하며 투명도가 높으며 (80) 메인 블루 원과 대조됩니다.
imagecolorallocatealpha () , 아이콘, 테두리 또는 기타 시각 효과에 관계없이 동적으로 생성 된 이미지에 투명 요소를 쉽게 추가하여 미학을 크게 향상시킬 수 있습니다. PHP와 GD 라이브러리를 결합하여 더 복잡한 요구를 충족시키기 위해 다른 배경에 적합한 투명한 이미지를 일괄 처리 할 수도 있습니다.
더 많은 것을 배우고 싶다면 공식 문서 : PHP GD 함수 매뉴얼을 참조하십시오.