현재 위치: > 최신 기사 목록> 이미지 좌표 시스템을 일관성있게 유지하는 방법 이미지를 뒤집은 후

이미지 좌표 시스템을 일관성있게 유지하는 방법 이미지를 뒤집은 후

M66 2025-05-31

PHP의 GD 라이브러리를 사용하여 이미지를 처리 ​​할 때 ImageFlip ()는 이미지가 수평, 수직 또는 동시에 빠르게 빠르게 뒤집는 매우 편리한 기능입니다. 그러나 이미지를 뒤집은 후 이미지의 이미지 좌표 시스템을 기반으로 레이블, 좌표 지점 또는 기타 위치 마크가있는 경우 문제가 발생합니다. 원래 포인트는 더 이상 이미지의 동일한 위치에 해당하지 않습니다.

이 기사는 이미지의 주석 또는 요소가 여전히 예상 위치에 표시되도록 imageFlip () 함수를 사용한 후 좌표계를 올바르게 조정하는 방법을 소개합니다.

ImageFlip 소개

PHP의 ImageFlip () 함수는 PHP 5.5 이후에 제공되며 이미지를 뒤집는 데 사용됩니다.

 bool imageflip ( GdImage $image , int $mode )

여기서 $ 모드는 다음 중 하나 일 수 있습니다.

  • img_flip_horizontal : 수평 플립

  • img_flip_vertical : 수직 플립

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

문제 시나리오 설명

좌표 지점 (x, y) 이 표시된 사진이 있다고 가정합니다. ImageFlip ()을 사용하여 이미지를 가로로 뒤집습니다 ( IMG_FLIP_HORIZONTAL ).이 시점에서 이미지 픽셀 (x, y) 도 다른쪽으로 뒤집 히고 원래 좌표가 부정확합니다.

예를 들어:

  • 원래 이미지의 너비는 500px 입니다

  • 원래 좌표 지점은 (100, 200) 입니다.

  • 뒤집기 후에는 요점이 실제로 (500-100 = 400, 200) 여야합니다.

솔루션 : 좌표 지점을 재구성하십시오

수평 플립 후 새로운 좌표 계산 방법 :

 $newX = $imageWidth - $oldX;
$newY = $oldY;

수직 플립 후 새로운 좌표 :

 $newX = $oldX;
$newY = $imageHeight - $oldY;

동시에 뒤집기 :

 $newX = $imageWidth - $oldX;
$newY = $imageHeight - $oldY;

샘플 코드

다음은 이미지를 뒤집고 올바른 좌표를 보여주는 방법을 보여주는 완전한 예입니다.

 <?php
// 원본 이미지를로드하십시오
$imagePath = 'https://m66.net/images/sample.jpg';
$image = imagecreatefromjpeg($imagePath);

// 이미지 너비와 높이를 얻으십시오
$width = imagesx($image);
$height = imagesy($image);

// 원래 좌표 지점
$oldX = 100;
$oldY = 200;

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

// 새로운 좌표 계산
$newX = $width - $oldX;
$newY = $oldY;

// 새로운 좌표 지점을 표시하십시오(빨간색)
$red = imagecolorallocate($image, 255, 0, 0);
imagefilledellipse($image, $newX, $newY, 10, 10, $red);

// 출력 이미지
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>

  • 좌표 변환 로직은 이미지 플립 패턴과 밀접한 관련이 있으며 정확하게 일치해야합니다.

  • 다중 좌표 지점을 배치로 변환 해야하는 경우 처리를위한 함수로 캡슐화하는 것이 좋습니다.

  • 이미지 컨텐츠가 사용자 업로드에서 나온 경우 이미지 크기를 확인하고 보안 문제를 피하기 위해 먼저 입력하십시오.

결론

ImageFlip () 는 이미지를 처리하는 데 매우 효율적인 도구이지만 이미지에서 "좌표 의미"를 일관성있게 유지하려면 플립 후 좌표 위치를 적극적으로 계산하고 업데이트해야합니다. 이 기술을 마스터하면 대화식 마킹, 이미지 주석 도구 또는 그래픽 포지셔닝 시스템과 같은 PHP에서보다 유연한 이미지 처리 기능을 구현할 수 있습니다.