PHP 8.3.4 Released!

imageresolution

(PHP 7 >= 7.2.0, PHP 8)

imageresolutionObtém ou define a resolução da imagem

Descrição

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

imageresolution() permite definir ou obter a resolução de uma imagem em PPP (pontos por polegada). Se os parâmetros opcionais forem null, a resolução atual é retornada como um array indexado. Se somente resolution_x não for null, as resoluções horizontal e vertical são definidas para este valor. Se nenhum dos parâmetros opcionais for null, as resoluções horizontal e vertical são definidas para estes valores, respectivamente.

A resolução é usada somente como meta-informação quando imagens são lidas e gravadas de/para formatos que suportam este tipo de informação (atualmente PNG e JPEG). Ela não afeta nenhuma operação de desenho. A resolução padrão para novas imagens é 96 PPP.

Parâmetros

image

Um objeto GdImage, retornado por uma das funções de criação de imagem, como imagecreatetruecolor().

resolution_x

A resolução horizontal em PPP.

resolution_y

A resolução vertical em PPP.

Valor Retornado

Quando usado para obter a resolução, retorna um array indexado das resoluções horizontal e vertical em caso de sucesso, ou false em caso de falha. Quando usado para definir a resolução, retorna true em caso de sucesso, ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.0.0 resolution_x e resolution_y agora podem ser nulos.

Exemplos

Exemplo #1 Definindo e obtendo a resolução de uma imagem

<?php
$im
= imagecreatetruecolor(100, 100);
imageresolution($im, 200);
print_r(imageresolution($im));
imageresolution($im, 300, 72);
print_r(imageresolution($im));
?>

O exemplo acima produzirá:

Array
(
    [0] => 200
    [1] => 200
)
Array
(
    [0] => 300
    [1] => 72
)
add a note

User Contributed Notes 1 note

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