update page now

imageresolution

(PHP 7 >= 7.2.0, PHP 8)

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

Описание

imageresolution(GdImage $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
)
Добавить

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

up
1
fernando dot fonseca at afteryou dot pt
4 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