Os formatos de imagem HEIC e HEIF têm ganhado destaque nos últimos anos, especialmente com a adoção pela Apple em seus dispositivos. A instalação fornecida nos repositórios do CentOS não tem suporte à esses formatos.

HEIC (High Efficiency Image Coding) e HEIF (High Efficiency Image Format) são padrões desenvolvidos pelo Moving Picture Experts Group (MPEG) para oferecer uma compressão de imagem mais eficiente, mantendo uma qualidade superior em comparação com o tradicional JPEG. Esses formatos permitem armazenar imagens de alta qualidade ocupando menos espaço de armazenamento, o que é ideal para dispositivos móveis e câmeras digitais.

Instalando Repositórios Necessários

Antes de começar, se houver erros ao usar o yum no seu servidor, temos uma postagem para corrigir isso aqui: Centos 7: corrigindo o yum com repositórios do Vault

Para adicionar os formatos HEIF / HEIC no ImageMagick usaremos o repositório REMI para instalar o ImageMagick compilado com esses formatos e os repositórios EPEL e RPMFUSION para servir as dependências do pacote.

Instale os repositórios usando o yum mesmo:

yum -y install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install epel-release
yum -y update epel-release

Ativando os repositórios

Ative o repositório base do REMI, pois apenas o repositório remi-safe estará ativo após a instalação:

yum-config-manager --enable remi

Instalando o ImageMagick

Se já existe um ImageMagick instalado, remova antes de continuar:

yum remove ImageMagick

O REMI fornece duas versões do ImageMagick: ImageMagick6 (6.9.13 na data desta publicação) e ImageMagick7 (7.1.1). Eu vou usar a versão 6 e o suporte aos formatos HEIC e HEIF fica num plugin chamado ImageMagick6-heic:

yum -y install ImageMagick6 ImageMagick6-devel ImageMagick6-heic

Com o comando identify ou convert consultamos os formatos suportados. HEIC e HEIF devem aparecer com leitura e escrita (rw) na lista:

identify -list format | grep -i hei
convert -list format | grep -i hei

ImageMagick no PHP

Caso o servidor já tinha essa extensão instalada, ela ainda não tem suporte aos novos formatos. Precisamos reinstalar:

pecl uninstall imagick
pecl install imagick

No cpanel ou servidores com várias versões do PHP, temos que instalar a extensão em cada versão separadamente. Simplificando em uma linha para todas as versões:

for a in /opt/cpanel/ea-php*/root/bin/pecl ; do $a uninstall imagick ; $a install imagick ; done

Feito! O suporte a leitura e escrita aos formatos HEIF / HEIC no ImageMagick foi habilitado, garantindo que seu servidor possa lidar com imagens modernas de maneira eficiente. Este processo não só otimiza o uso de espaço de armazenamento, mas também melhora a qualidade das imagens manipuladas, tornando-o ideal para aplicações que exigem alta performance e qualidade visual.