라이브러리
[PHP] imagecopyresampled - 리샘플링으로 이미지의 일부를 복사하고 크기 조정
이미지 복사 및 리샘플링 (Image Copy and Resampling)
PHP의 GD 라이브러리는 이미지 처리를 위한 다양한 함수를 제공합니다. 중 하나인 `imagecopyresampled` 함수는 원본 이미지의 특정 부분을 대상 이미지로 복사하고, 대상 이미지의 크기를 변경하여 리샘플링합니다.
imagecopyresampled 함수
`imagecopyresampled` 함수는 다음과 같은 형식으로 사용됩니다.
#hostingforum.kr
php
imagecopyresampled($dst_img, $src_img, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)
- `$dst_img`: 대상 이미지
- `$src_img`: 원본 이미지
- `$dst_x` 및 `$dst_y`: 대상 이미지의 좌표 (원본 이미지의 좌표가 (0, 0) 인 경우)
- `$src_x` 및 `$src_y`: 원본 이미지의 좌표
- `$dst_w` 및 `$dst_h`: 대상 이미지의 크기
- `$src_w` 및 `$src_h`: 원본 이미지의 크기
예제
다음 예제에서는 `imagecopyresampled` 함수를 사용하여 원본 이미지의 특정 부분을 대상 이미지로 복사하고, 대상 이미지의 크기를 변경하여 리샘플링합니다.
#hostingforum.kr
php
// 원본 이미지 생성
$src_img = imagecreatefromjpeg('원본이미지.jpg');
// 대상 이미지 생성
$dst_img = imagecreatetruecolor(800, 600);
// 원본 이미지의 특정 부분을 대상 이미지로 복사하고 리샘플링
imagecopyresampled($dst_img, $src_img, 0, 0, 100, 100, 800, 600, 400, 300);
// 대상 이미지 저장
imagejpeg($dst_img, '대상이미지.jpg');
// 이미지 삭제
imagedestroy($src_img);
imagedestroy($dst_img);
이 예제에서는 원본 이미지의 크기는 400x300픽셀이며, 대상 이미지의 크기는 800x600픽셀입니다. 원본 이미지의 좌표 (100, 100) 부터 400x300픽셀의 크기를 대상 이미지로 복사하고 리샘플링합니다.
리샘플링의 중요성
리샘플링은 이미지의 크기를 변경하여 원본 이미지의 픽셀을 대상 이미지에 맞게 재배치합니다. 이는 이미지의 품질을 유지하면서 크기를 변경할 수 있도록 합니다. 그러나 리샘플링은 이미지의 품질을 저하할 수 있으므로, 적절한 리샘플링 알고리즘을 선택하여 품질을 최적화해야 합니다.
리샘플링 알고리즘
GD 라이브러리는 다음과 같은 리샘플링 알고리즘을 제공합니다.
- `IMG_BILINEAR_FIXED`: 고정된 비선형 리샘플링 알고리즘
- `IMG_BICUBIC_FIXED`: 고정된 비선형 리샘플링 알고리즘
- `IMG_BICUBIC`: 비선형 리샘플링 알고리즘
- `IMG_NEAREST_NEIGHBOUR`: 가장 가까운 이웃 리샘플링 알고리즘
이러한 리샘플링 알고리즘 중 하나를 선택하여 `imagecopyresampled` 함수에 전달하여 이미지의 품질을 최적화할 수 있습니다.
#hostingforum.kr
php
imagecopyresampled($dst_img, $src_img, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h, IMG_BICUBIC);
이 예제에서는 `IMG_BICUBIC` 리샘플링 알고리즘을 사용하여 이미지의 품질을 최적화합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.