색상과 이미지를 동적으로 생성하는 것은 웹 개발에서 매우 일반적인 요구 사항입니다. PHP는 imagecolorallocatealpha가 투명성 (RGBA)으로 색상을 생성하는 데 도움이되는 매우 유용한 기능 인 일부 내장 이미지 처리 기능을 제공합니다. 이 기사는이 기능을 사용하여 RGBA 컬러 보드를 동적으로 생성하는 방법을 소개합니다.
우선, PHP 이미지 처리는 주로 GD 라이브러리를 통해 구현됩니다. GD 라이브러리를 사용하면 이미지에서 이미지를 만들고 이미지를 편집하고 이미지에서 다양한 픽셀을 처리 할 수 있습니다. imagecolorallocatealpha 함수는 GD 라이브러리의 구성원으로, 이미지에 색상을 할당하고 색상의 투명성 (알파 값)을 설정할 수 있습니다.
imagecolorallocatealpha 함수의 기본 구문은 다음과 같습니다.
imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha): int
$ 이미지 : 이미지 리소스.
$ RED , $ GREEN , $ BLUE : 0에서 255 사이의 색상의 RGB 값.
$ ALPHA : 0 (완전히 불투명)에서 127 (완전히 투명) 범위의 투명성 값.
함수의 반환 값은 이미지에 그래프를 그리는 데 사용할 수있는 색상 식별자입니다.
다른 색상과 투명성을 표시하기 위해 RGBA 컬러 보드를 동적으로 생성해야한다고 가정 해 봅시다. 다음은 imagecolorallocatealpha 기능을 사용하여 RGBA 컬러 보드를 동적으로 생성하는 방법을 보여주는 간단한 예입니다.
<?php
// a 256x256 빈 이미지
$image = imagecreatetruecolor(256, 256);
// 투명성을 지원합니다,우리는 설정해야합니다 alpha 통로
imagesavealpha($image, true);
// 횡단 생성 RGBA 컬러 보드
for ($r = 0; $r < 256; $r += 32) {
for ($g = 0; $g < 256; $g += 32) {
for ($b = 0; $b < 256; $b += 32) {
// 무작위로 투명성을 설정합니다
$alpha = rand(0, 127);
// 색상을 할당합니다,투명성 값에주의하십시오
$color = imagecolorallocatealpha($image, $r, $g, $b, $alpha);
// 색상을 나타 내기 위해 직사각형 블록을 그립니다
imagefilledrectangle($image, $r, $g, $r + 31, $g + 31, $color);
}
}
}
// 브라우저에 이미지를 출력합니다
header('Content-Type: image/png');
imagepng($image);
// 기억을 청소하십시오
imagedestroy($image);
?>
우리는 먼저 256x256 이미지를 만들고 투명 채널을 활성화하기 위해 ImagesAvealpha를 설정했습니다.
루프 용 3 계층을 사용하여 RGB 값의 다른 조합을 생성하고 ImageColallocatealpha 기능을 통해 투명성으로 색상을 할당합니다.
ImageFilledRectangle 함수는 이미지에 사각형 블록을 그리는 데 사용되며 각 사각형은 색상을 나타냅니다.
마지막으로 헤더 기능을 통해 이미지를 브라우저에 출력합니다.
위의 코드를 통해 브라우저에서 256x256 컬러 보드를 볼 수 있으며, 각 작은 조각은 다른 RGB 조합과 투명성을 보여줍니다. imagecolorallocatealpha 기능을 사용하기 때문에 각 색상에 다른 투명성을 추가하여 컬러 보드에 색상을 표시 할뿐만 아니라 투명도의 변경 사항도 표시 할 수 있습니다.
컬러 보드를 생성 할 때는 이미지의 일부로 URL 주소를 사용해야 할 수도 있습니다. 예를 들어, 다음 코드를 사용하여 외부 URL에서 이미지를로드하고 컬러 보드와 결합 할 수 있습니다.
<?php
// 원격 사진로드
$imageUrl = 'http://m66.net/path/to/your/image.png';
$image = imagecreatefrompng($imageUrl);
// 이미지 크기를 설정하십시오
$width = imagesx($image);
$height = imagesy($image);
// 출력 이미지
header('Content-Type: image/png');
imagepng($image);
// 리소스를 자유롭게합니다
imagedestroy($image);
?>
imageCreatefrommpng 함수를 통해 외부 URL의 PNG 이미지를로드 할 수 있습니다.
ImagePNG를 사용하여 이미지를 브라우저에 출력하십시오.
이런 식으로 컬러 보드에 원격 이미지를 표시하고 다른 투명성을 설정할 수 있습니다.