(PECL imagick 2, PECL imagick 3)
Imagick::adaptiveResizeImage — Redimensiona imagem de forma adaptativa com triangulação dependente de dados
$columns,$rows,$bestfit = false,$legacy = falseRedimensiona a imagem de forma adaptativa com triangulação dependente de dados. Evita o desfoque em mudanças súbitas de cores. Mais útil quando usado para reduzir imagens ligeiramente para um "tamanho da web"; pode não parecer bom quando uma imagem em tamanho real é redimensionada de forma adaptativa para uma miniatura. Este método estará disponível se a extensão Imagick tiver sido compilada com a ImageMagick versão 6.2.9 ou superior.
Nota:
O comportamento do parâmetro
bestfitmudou na Imagick 3.0.0. Antes desta versão, dadas as dimensões 400x400, uma imagem de dimensões 200x150 permaneceria intocada. Na Imagick 3.0.0 e superiores, a imagem será escalada para 400x300, pois este é o "melhor ajuste" para as dimensões fornecidas. Se o parâmetrobestfitfor usado, tanto a largura quanto a altura devem ser informadas.
columnsO número de colunas na imagem dimensionada.
rowsO número de linhas na imagem dimensionada.
bestfitInforma se a imagem deve ser ajustada dentro das dimensões fornecidas, preservando a proporção.
legacyParâmetro bool opcional. Se definido como 'true', os cálculos são feitos com a pequena falha de arredondamento que existia no Imagick antes da versão 3.4.0. Se definido como 'false', os cálculos devem produzir os mesmos resultados que as ferramentas de linha de comando do ImageMagick.
Retorna true em caso de sucesso.
Lança uma exceção ImagickException em caso de erro.
| Versão | Descrição |
|---|---|
| PECL imagick 2.1.0 | Adicionado o parâmetro opcional bestfit. |
| PECL imagick 2.1.0 | Este método agora suporta redimensionamento proporcional. Passe zero como um dos parâmetros para redimensionamento proporcional. |
| PECL imagick 3.4.0 |
Adicionado o parâmetro legacy.
|
Exemplo #1 Usando Imagick::adaptiveResizeImage()
Redimensiona uma imagem para um tamanho padrão para a web. Este método funciona melhor ao redimensionar para um tamanho ligeiramente menor que o tamanho da imagem anterior.
<?php
header('Content-type: image/jpeg');
$image = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);
echo $image;
?>