개요
imageresolution()은 PHP에 내장된 함수로, 이미지의 해상도를 DPI(인치당 도트 수) 단위로 가져오거나 설정할 때 사용합니다. 이 함수는 PHP 7.2.0부터 제공됩니다. 선택적 매개변수를 아무것도 전달하지 않으면 현재 해상도가 인덱스 배열 형태로 반환되고, 매개변수를 하나만 전달하면 가로·세로 해상도가 모두 해당 값으로 설정됩니다.
여기서 다루는 해상도는 어디까지나 메타 정보입니다. 즉, PNG나 JPEG처럼 해상도 정보를 지원하는 포맷으로 이미지를 읽거나 저장할 때만 활용되며, 실제 그리기(draw) 작업에는 어떠한 영향도 주지 않습니다. 새로 생성되는 이미지의 기본 해상도는 96 DPI입니다.
문법
mixed imageresolution(resource $image, int $res_x, int $res_y)
매개변수
imageresolution()은 세 개의 매개변수를 받습니다: $image, $res_x, $res_y.
$image − 작업 대상이 되는 이미지 리소스를 지정합니다.
$res_x − 가로 방향 해상도(DPI)를 지정합니다.
$res_y − 세로 방향 해상도(DPI)를 지정합니다.
반환 값
imageresolution()은 이미지의 해상도 값을 담은 인덱스 배열을 반환합니다.
예제 1
아래 예제에서는 해상도를 한 값으로 설정한 경우와, 가로·세로를 각각 다르게 설정한 경우를 비교해 볼 수 있습니다.
<?php
$img = imagecreatetruecolor(100, 100);
imageresolution($img, 200);
print_r(imageresolution($img));
imageresolution($img, 300, 72);
print_r(imageresolution($img));
?>
출력 결과
Array
(
[0] => 200
[1] => 200
)
Array
(
[0] => 300
[1] => 72
)
예제 2
실제 PNG 파일을 불러와 해상도를 변경한 뒤, 다시 조회하여 확인하는 예제입니다.
<?php
// imagecreatefrompng() 함수로 PNG 이미지 불러오기
$img = imagecreatefrompng('C:\xampp\htdocs\Images\img34.png');
// 이미지 해상도 설정
imageresolution($img, 300, 100);
// 이미지 해상도 가져오기
$imageresolution = imageresolution($img);
print("<pre>".print_r($imageresolution, true)."</pre>");
?>
출력 결과
Array
(
[0] => 300
[1] => 100
)