현재 위치: > 최신 기사 목록> ImageFlip () 및 이미지 픽셀 포인트 변경 분석

ImageFlip () 및 이미지 픽셀 포인트 변경 분석

M66 2025-06-01

php에서 imageflip () 함수는 이미지를 뒤집는 데 유용한 도구입니다. 거울 효과 생성, 이미지 수정 등과 같은 이미지 처리 작업에 매우 도움이되는 이미지, 수직 또는 수직 또는 둘 다를 뒤집을 수 있습니다. 그러나 더 깊이 살펴보면 이미지의 픽셀 포인트를 정확히 어떻게 바꾸는가? 이 기사는 예와 삽화를 통해 구체적인 영향을 드러냅니다.

ImageFlip () 함수 소개

ImageFlip () 는 PHP GD 라이브러리의 일부이며 이미지를 뒤집는 데 사용됩니다. 기능 프로토 타입은 다음과 같습니다.

 bool imageflip(GdImage $image, int $mode)

$ image 는 대상 이미지 리소스이고 $ 모드 는 뒤집힌 모드이며 지원되는 상수는 다음과 같습니다.

  • img_flip_horizontal : 수평 플립 (왼쪽에서 오른쪽으로)

  • img_flip_vertical : 수직으로 플립 (위에서 아래로)

  • IMG_FLIP_BOTH : 수평 및 수직으로 동시에 플립

예 : 픽셀 포인트 변경 비교

다음은 이미지를 생성하고 뒤집고 뒤집기 전후에 픽셀 변경을 보는 방법에 대한 간단한 예입니다.

 <?php
// 간단한 이미지 리소스를 만듭니다 (3x3픽셀)
$image = imagecreatetruecolor(3, 3);

// 채우기 색상은 구별하기 편리합니다
$colors = [
    imagecolorallocate($image, 255, 0, 0),   // 빨간색
    imagecolorallocate($image, 0, 255, 0),   // 녹색
    imagecolorallocate($image, 0, 0, 255),   // 파란색
];

// 设置픽셀点(2 차원 매트릭스로 간주 될 수 있습니다)
imagesetpixel($image, 0, 0, $colors[0]); // 왼쪽 상단
imagesetpixel($image, 2, 0, $colors[1]); // 오른쪽 상단
imagesetpixel($image, 1, 2, $colors[2]); // 중간 및 하부

// 输出翻转前的픽셀颜色(디버깅을 위해)
function printPixelColors($img) {
    for ($y = 0; $y < imagesy($img); $y++) {
        for ($x = 0; $x < imagesx($img); $x++) {
            $rgb = imagecolorat($img, $x, $y);
            $colors = imagecolorsforindex($img, $rgb);
            echo "($x,$y): R={$colors['red']} G={$colors['green']} B={$colors['blue']}\n";
        }
    }
    echo "----\n";
}

echo "翻转前픽셀:\n";
printPixelColors($image);

// 수평 플립을 수행하십시오
imageflip($image, IMG_FLIP_HORIZONTAL);

echo "水平翻转后픽셀:\n";
printPixelColors($image);

// 출력을 파일로 뒤집습니다
imagepng($image, 'https://m66.net/output/flipped_image.png');
imagedestroy($image);
?>

픽셀 변경 설명

원본 이미지의 왼쪽 상단이 빨간색 픽셀 (0,0) 이고 오른쪽 상단 모서리가 녹색 픽셀 (2,0) 이라고 가정하면, 수평으로 뒤집은 후에는 위치를 조정합니다. 즉, 빨간색은 (2,0) 으로 이동하고 녹색은 (0,0) 으로 이동합니다. 중간 아래의 청색 (1,2) 도 대칭 위치 (1,2) 가됩니다 (수평으로 뒤집을 때 수직 위치는 변경되지 않으므로 위치는 변경되지 않음).

시각적 이해는 거울 앞의 전체 이미지를 조정하는 것입니다.

실제 응용 시나리오

  • 이미지 미러링 효과 : 사진을 찍을 때 이미지 미리보기에 사용할 수 있습니다.

  • 이미지 수정 : 일부 이미지 캡처 장치는 이미지를 반전하고 ImageFlip ()에 의해 수정할 수 있습니다.

  • 이미지 데이터 확대 : 기계 학습 모델을 교육 할 때 뒤집힌 이미지가 데이터 다양성을 증가시킬 수 있습니다.

주목해야 할 것

  • PHP의 ImageFlip ()는 GD 라이브러리 지원이 필요합니다 (PHP 5.5.0+는 내장되었습니다)

  • 플립 작업은 원래 이미지 리소스를 직접 수정하고 새 리소스를 반환하지 않습니다.