PHP에서 이미지 처리 기능은 GD 라이브러리에 의해 제공되며 ImageCreatetRuecolor () 및 ImageOpenPolygon () 은 매우 유용한 기능 중 하나입니다. 이 기사에서는이 두 기능을 사용하여 처음부터 이미지를 만들고 간단한 다각형을 그리는 방법을 보여줍니다. 이미지를 생성하고 이미지 색상을 설정하고 다각형 방법을 사용하여 그래픽을 렌더링하는 방법을 단계별로 진행합니다.
imageCreatetRueColor ()는 진정한 색상 이미지 리소스를 만드는 매우 기본적인 기능입니다. 이미지의 너비와 높이의 두 매개 변수를 수신하고 이미지를 나타내는 리소스를 반환합니다.
<?php
// 넓은 것을 만듭니다 500 높은 500 이미지
$width = 500;
$height = 500;
$image = imagecreatetruecolor($width, $height);
이 기능에서 반환 한 $ 이미지 변수는 이미지 리소스이며이를 사용하여 이미지 처리 작업을 수행 할 수 있습니다.
이미지에서는 일반적으로 모양, 배경 등을 그리기 위해 다른 색상을 설정해야합니다. imageColorAllocate ()를 사용하여 색상을 할당 할 수 있습니다. 이미지 자원, 빨간색, 녹색 및 파란색 값 (0-255)의 4 매개 변수를 허용합니다.
// 배경색과 다각형 색상을 할당하십시오
$background_color = imagecolorallocate($image, 255, 255, 255); // 흰색 배경
$polygon_color = imagecolorallocate($image, 0, 0, 255); // 파란색 다각형
ImageFill ()을 사용하여 전체 이미지를 지정된 색상으로 채 웁니다. 예를 들어, 이미지를 만든 후 흰색 배경을 채우고 자합니다.
// 배경색을 채우십시오
imagefill($image, 0, 0, $background_color);
다음으로 ImagePolygon ()을 사용하여 다각형을 그립니다. 이 기능의 매개 변수에는 이미지 리소스, 정점 좌표 배열 및 정점 번호가 포함됩니다. 다각형의 각 정점은 좌표 (x, y)로 표시됩니다.
// 다각형의 정점 좌표
$points = array(
150, 150,
350, 150,
400, 350,
200, 400,
100, 300
);
// 다각형을 그립니다
imagepolygon($image, $points, 5, $polygon_color);
마지막으로 생성 된 이미지를 출력해야합니다. PHP는 imagePng () , imageJpeg () 및 imageGif () 와 같은 기능을 제공하며 필요에 따라 이미지를 출력하기 위해 그 중 하나를 선택할 수 있습니다. 여기서는 이미지를 PNG 형식으로 저장하기 위해 ImagePng ()를 사용합니다.
// 브라우저에 이미지를 출력합니다
header('Content-Type: image/png');
imagepng($image);
// 또는 파일로 저장하십시오
// imagepng($image, 'polygon_image.png');
이미지가 생성되면 메모리를 저장하기 위해 이미지 리소스를 해제해야합니다.
// 이미지 자원을 파괴하십시오
imagedestroy($image);
<?php
// 이미지 리소스를 만듭니다
$width = 500;
$height = 500;
$image = imagecreatetruecolor($width, $height);
// 색상을 할당합니다
$background_color = imagecolorallocate($image, 255, 255, 255); // 흰색 배경
$polygon_color = imagecolorallocate($image, 0, 0, 255); // 파란색 다각형
// 배경색을 채우십시오
imagefill($image, 0, 0, $background_color);
// 다각형의 정점 좌표
$points = array(
150, 150,
350, 150,
400, 350,
200, 400,
100, 300
);
// 다각형을 그립니다
imagepolygon($image, $points, 5, $polygon_color);
// 출력 이미지
header('Content-Type: image/png');
imagepng($image);
// 이미지 자원을 파괴하십시오
imagedestroy($image);
?>