Como posso redimensionar uma imagem já carregada usando MagickWand (PHP) / ImageMagick?

StackOverflow https://stackoverflow.com/questions/717668

  •  23-08-2019
  •  | 
  •  

Pergunta

Eu estou trabalhando na construção de galeria onde o usuário faz upload de todas as imagens. Eu tinha tentado usar GD originalmente, mas descobriu que ele usou de forma demasiada memória ao lidar com imagens de uma câmera digital. Então, eu tenho procurado em ImageMagick e correu para este problema.

Meu objetivo final é para redimensionar a imagem e, em seguida, enviá-lo. Eu não tenho certeza se isso é possível com ImageMagick ou não. Eu comecei-o para redimensionar a imagem após o upload, mas ele não salva a imagem redimensionada, apenas o tamanho original.

Este é o código que estou usando atualmente: ($ imagem é o caminho para o arquivo no meu servidor)

$resource = NewMagickWand(); 
MagickReadImage($resource,$image); 
MagickSetImageCompressionQuality( $resource, 100);
$resource = MagickTransformImage($resource,'0x0','660x500'); 

Qualquer entrada seria apreciada,
Levi

Foi útil?

Solução

Seu código irá enviar a imagem modificada para o cliente (o navegador), mas não vai salvá-lo para o servidor (que substitui a imagem original, por exemplo)

Para salvar a imagem, use:

MagickWriteImage( $resource, 'new_image.jpg' ); 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top