PHP 8.4.0 RC4 available for testing

imageresolution

(PHP 7 >= 7.2.0, PHP 8)

imageresolutionПолучить или установить разрешение изображения

Описание

imageresolution(GdImage $image, ?int $resolution_x = null, ?int $resolution_y = null): array|bool

imageresolution() позволяет установить и получить разрешение изображения в DPI (точек на дюйм). Если необязательные параметры указаны как null, то будет возращено текущее разрешение в виде индексированного массива. Если только resolution_x не является null, для горизонтального и вертикального разрешения будет установлено это значение. Если все необязательные параметры не являются null, для горизонтального и вертикального разрешения устанавливаются эти значения соответственно.

Разрешение используется только как метаданные во время чтения или записи изображений в форматы, которые поддерживают этот вид данных (на данный момент это 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
)
Добавить

Примечания пользователей 1 note

up
0
fernando dot fonseca at afteryou dot pt
3 years ago
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);
To Top