Como obter a largura e altura de uma imagem em PHP



Neste tutorial vamos mostrar como obter a largura e altura de uma imagem qualquer utilizando a linguagem de programação PHP. Este recurso é muito útil para manipulação e validação das dimensões de uma imagem. Para realizarmos estes recursos vamos precisar do comando getimagesize() que é uma função da biblioteca GD do PHP.

Obs. 1: A função getimagesize() retorna o tamanho de uma imagem com as extensões: GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, ou WBMP.

Biblioteca GD: O GD é um poderoso plugin do PHP desenvolvido para o processamento de imagens. Esta biblioteca já vem inserida no PHP 5.0 ou superior. Veja todos os comandos no link: Biblioteca GD

Exemplo 1 - Obter dimensões e visualizar uma imagem

1. Para obtermos as dimensões (largura - width) e (altura - height) de uma imagem, vamos utilizar a função getimagesize() da biblioteca GD.

getimagesize() é uma função da biblioteca GD que retorna uma variável composta (array) com 4 índices, sendo: [0] Largura da imagem, [1] Altura da imagem, [2] Tipo do arquivo de imagem, [3] atributos width e height da imagem.

2. Como vimos, o getimagesize() é um array e para obtermos os índices deste array utilizamos a função list(). A função list() irá criar uma lista de variáveis, $largura_original e $altura_original, obtidas diretamente do getimagesize(), índices 0 e 1.

3. Veja abaixo o nosso exemplo 1 onde podemos entender melhor os conceitos apresentados acima:

<?php
$imagem = "https://www.visualdicas.com.br/images/visualdicas_logo.png";

echo '<h2>Imagem Original</h2>';
echo '<img src="'.$imagem.'">';
echo '<br><br>';

list($largura_original, $altura_original) = getimagesize($imagem);
echo 'Largura Original = '.$largura_original.' | Altura Original = '.$altura_original;

echo '<h2>Imagem Redimensionada</h2>';
$ratio = 2.5; // razão de proporcionalidade

$largura_final = $largura_original/$ratio;
$altura_final = $altura_original/$ratio;
echo '<img src="'.$imagem.'" width="'.$largura_final.'" height="'.$altura_final.'">';
echo '<br><br>';
echo 'Largura Final = '.$largura_final.' | Altura Final = '.$altura_final;

😀 Para visualizar o exemplo no navegador clique no link visualdicas exemplos 01: Veja o resultado do nosso exemplo:

Exemplo 2 - Validar tamanho da imagem

1. Para obtermos o controle do tamanho das imagens que o usuário esta tentando enviar para o site ou um sistema que estamos desenvolvendo, podemos validar o tamanho dessa imagem obtendo-se a largura e a altura para a validação. Veja o exemplo abaixo onde utilizamos o mesmo conceito do exemplo anterior:

<?php
$imagem = "https://www.visualdicas.com.br/images/visualdicas_logo.png";

echo '<h2>Imagem Original</h2>';
echo '<img src="'.$imagem.'">';
echo '<br><br>';

// Captura o tamanho da imagem e guarda nas variáveis
list($largura, $altura) = getimagesize($imagem);

// Faz a Validação da imagem
if($largura <= 400 && $altura <= 200) {
    echo "Imagem válida!";
    echo '<br>';
    echo 'Largura = '.$largura.' | Altura = '.$altura;
} else {
    echo "Imagem incorreta";
    echo '<br>';
    echo 'Largura = '.$largura.' | Altura = '.$altura;
}

😀 Para visualizar o exemplo no navegador clique no link visualdicas exemplos 02: Veja o resultado do nosso exemplo:

Exemplo 3 - Mostrando todos os índices da função "getimagesize()"

1. Neste exemplo vamos mostrar elementos do "getimagesize()" obtidos a partir de um arquivo de imagem GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, ou WBMP, onde:

[0] Largura da imagem, [1] Altura da imagem, [2] Tipo do arquivo de imagem, [3] atributos width e height da imagem.

2. Portanto, a função "getimagesize() retorna uma matriz com 4 elementos: O índice 0 contém a largura da imagem em pixels. O índice 1 contém a altura em pixels. O índice 2 é uma indicação do tipo de imagem: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM. Estes valores correspondem as constantes IMAGETYPE que foram adicionadas no PHP 4.3. O índice 3 é uma string com o height="yyy" width="xxx" correto que pode ser usado diretamente numa tag IMG.

Veja abaixo o código do nosso exemplo:

<?php
$imagem = "https://www.visualdicas.com.br/images/visualdicas_logo.png";

echo '<h2>Imagem Original</h2>';
echo '<img src="'.$imagem.'">';
echo '<br><br>';

$lista = array();
$lista = getimagesize($imagem);

echo 'Largura da imagem: '.$lista[0];
echo '<br><br>';

echo 'Altura da imagem: '.$lista[1];
echo '<br><br>';

echo 'Tipo da imagem: '.$lista[2];
echo '<br><br>';

echo 'Atributos da imagem: '.$lista[3];

😀 Para visualizar o exemplo no navegador clique no link visualdicas exemplos 03: Veja o resultado do nosso exemplo:

Documentação Oficial

1. [Documentação PHP - função getimagesize()] » Sobre a função da GD "getimagesize()".

O anúncio abaixo ajuda manter o Portal Visual Dicas

Comentários

×

Infomações do site / SEO