(PHP 7 >= 7.2.0, PHP 8)
imageresolution — Получает или устанавливает разрешение изображения
$image, ? int $resolution_x = null , ? int $resolution_y = null ): array |true
Функция imageresolution() устанавливает или получает разрешение
изображения в точках на дюйм (англ. dots per inch, сокр. DPI). При передаче в необязательные параметры значения null
возвращается индексный массив со значениями текущего разрешения.
При установке только параметра resolution_x
функция добавит в метаданные одинаковое разрешение по горизонтали и вертикали.
При установке двух параметров — один определяет горизонтальное,
а другой вертикальное разрешение.
Разрешение сохраняется только как метаданные, которые доступны при чтении или записи изображений в форматы, которые поддерживают такой вид информации: PNG и JPEG. Изменение разрешения функцией не влияет на операции рисования. Разрешение по умолчанию для новых изображений — 96 DPI.
imageОбъект GdImage , который вернула функция imagecreatetruecolor() или другая функция генерации изображений.
resolution_xГоризонтальное разрешение в DPI.
resolution_yВертикальное разрешение в DPI.
При вызове для получения информации о разрешении изображения
функция возвращает индексный массив с информацией о
горизонтальном и вертикальном разрешении, если выполнилась успешно, или false , если возникла ошибка.
При вызове для установки разрешения изображения функция возвращает true ,
если выполнилась успешно, или false , если возникла ошибка.
| Версия | Описание |
|---|---|
| 8.0.0 |
Параметры resolution_x и resolution_y теперь принимают значение null .
|
Пример #1 Пример установки и получения разрешения изображения
<?php
$im = imagecreatetruecolor(100, 100);
imageresolution($im, 200);
print_r(imageresolution($im));
imageresolution($im, 300, 72);
print_r(imageresolution($im));Результат выполнения приведённого примера:
Array ( [0] => 200 [1] => 200 ) Array ( [0] => 300 [1] => 72 )
It should be clear that the set version of the function doesn't change the image it self, just the resource in memory, which probably is fine if you didn't save the image yet. If your use case is for an image that is already on disk, image you should always do something like:
imageresolution($img, 300, 300);
imagepng($img, $filname, $quality);