PHP에서 GD 라이브러리는 ImageCreateFromGD2가 .gd2 형식 이미지를로드하는 데 중요한 기능인 일련의 강력한 이미지 처리 기능을 제공합니다. GD2 형식은 빠른로드 및 높은 압축 속도를 위해 설계된 이미지 형식입니다. JPEG 또는 PNG만큼 빈번하지는 않지만 특정 시나리오에서 매우 유용합니다.
이 기사는 imageCreateFromGD2 함수를 사용하여 GD2 이미지를 읽고 각 픽셀의 색상을 분석하고 특정 색상 영역을 수정 한 후 이미지를 새 파일로 저장하는 방법을 소개합니다.
먼저 .gd2 형식의 이미지 파일이 필요합니다. 다음과 같이 GD 라이브러리를 통해 기존 이미지를 GD2 형식으로 저장할 수 있습니다.
<?php
$image = imagecreatefrompng('example.png');
imagegd2($image, 'example.gd2');
imagedestroy($image);
?>
<?php
$gdImage = imagecreatefromgd2('example.gd2');
if (!$gdImage) {
die('로드 할 수 없습니다 GD2 영상');
}
?>
imagesx () 와 imagesy ()를 통해 이미지의 너비와 높이를 얻은 다음 각 픽셀 포인트를 통해 ImageColorat ()를 사용하여 색상 값을 읽습니다.
<?php
$width = imagesx($gdImage);
$height = imagesy($gdImage);
for ($y = 0; $y < $height; $y++) {
for ($x = 0; $x < $width; $x++) {
$rgb = imagecolorat($gdImage, $x, $y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
// 예:색상이 흰색에 가까운 경우,파란색으로 수정되었습니다
if ($r > 200 && $g > 200 && $b > 200) {
$newColor = imagecolorallocate($gdImage, 0, 0, 255);
imagesetpixel($gdImage, $x, $y, $newColor);
}
}
}
?>
수정이 완료되면 처리 된 이미지를 새 PNG 또는 GD2 파일로 저장하거나 브라우저에 직접 출력 할 수 있습니다.
<?php
// 새로 저장하십시오 GD2 문서
imagegd2($gdImage, 'modified.gd2');
// 또는 AS를 저장하십시오 PNG
imagepng($gdImage, 'modified.png');
// 기억을 청소하십시오
imagedestroy($gdImage);
?>
imageEcolorAllocate () 색상이 할당 될 때마다 색상 자원이 복제 될 수 있습니다. 최적화를 위해 공통 색상을 사전 배치 할 수 있습니다.
GD2 파일은 선택적으로 압축되어 디렉토리가 구성됩니다. 보다 고급 옵션은 PHP 매뉴얼을 참조하십시오.
다음 주소로 서버의 샘플 파일을 다운로드 할 수 있습니다 (자체 경로에 따라 교체하십시오).