ImageFlip ()는 이미지 처리에 PHP를 사용할 때 매우 실용적인 기능입니다. 이미지를 수평, 수직 또는 동시에 뒤집을 수 있습니다. 그러나 imageFlip ()를 사용하여 처리 할 때 다양한 이미지 형식 (예 : JPG, PNG, GIF)이 호환되며 원래 기능을 유지할 수 있습니까? 이 기사는이 문제를 자세히 분석하고 실제 코드를 통해 세 가지 주류 이미지 형식의 성능 차이를 보여줍니다.
ImageFlip () 는 PHP 5.5.0 이후 제공되는 이미지 처리 기능입니다. 기본 구문은 다음과 같습니다.
bool imageflip ( GdImage $image , int $mode )
여기서 $ 모드는 다음 상수 중 하나 일 수 있습니다.
img_flip_horizontal : 수평 플립
img_flip_vertical : 수직 플립
IMG_FLIP_BOTH : 수평 및 수직 플립을 동시에 수행하십시오
JPG는 가장 일반적인 이미지 형식이며 사진 및 웹 이미지에서 널리 사용됩니다. JPG는 투명 채널을 지원하지 않지만 이미지 품질 및 압축 비율은 우수합니다.
호환성 : 완전히 호환됩니다.
처리 효과 : 이미지는 정상적으로 뒤집 히지 만 JPG는 손실 압축이므로 저장된 이미지는 에지 세부 사항이 미묘한 변화를 가질 수 있습니다.
$src = 'https://m66.net/images/sample.jpg';
$image = imagecreatefromjpeg($src);
imageflip($image, IMG_FLIP_HORIZONTAL);
imagejpeg($image, 'flipped_sample.jpg');
imagedestroy($image);
PNG는 무손실 압축 및 알파 채널 (투명성)을 지원하며 종종 웹 페이지에 투명한 배경이 필요한 아이콘이나 그래픽에 사용됩니다.
호환성 : 완전히 호환됩니다.
처리 효과 : 플립이 정상이며 알파 채널을 유지할 수 있으며 투명한 배경은 손실되지 않습니다.
$src = 'https://m66.net/images/sample.png';
$image = imagecreatefrompng($src);
imagesavealpha($image, true); // 예약하다 alpha 통로
imageflip($image, IMG_FLIP_VERTICAL);
imagepng($image, 'flipped_sample.png');
imagedestroy($image);
GIF는 애니메이션 및 투명한 배경을 지원하지만 간단한 아이콘 및 라인 이미지에 적합한 256 개의 색상 만 지원합니다.
호환성 : 정적 GIF와 호환되며, 애니메이션 GIF를 구체적으로 처리해야합니다.
처리 효과 : 정적 GIF 뒤집기에는 문제가 없지만 여러 프레임이있는 애니메이션 GIF 인 경우 첫 번째 프레임 만 뒤집 히고 전체 프레임을 외부 라이브러리 (예 : imageMagick)로 처리해야합니다.
$src = 'https://m66.net/images/sample.gif';
$image = imagecreatefromgif($src);
imageflip($image, IMG_FLIP_BOTH);
imagegif($image, 'flipped_sample.gif');
imagedestroy($image);
애니메이션 GIF의 경우 imageMagick의 Convert Command를 사용하여 플립을 처리하는 것이 좋습니다.