Divida a foto para peças X e Y

Eu tenho uma imagem 96×96 e eu preciso dividi-lo em 36 peças de 16×16 e eu tenho um script dado abaixo funciona bem no meu host local, mas não está funcionando no meu webhost.

function makeTiles($name, $imageFileName, $crop_width, $crop_height) { $dir = "/pic"; $slicesDir = "/pic/16X16"; // might be good to check if $slicesDir exists etc if not create it. $ImgExt = split(".",$imageFileName); $inputFile = $dir . $imageFileName; $img = new Imagick($inputFile); $imgHeight = $img->getImageHeight(); $imgWidth = $img->getImageWidth(); $cropWidthTimes = ceil($imgWidth/$crop_width); $cropHeightTimes = ceil($imgHeight/$crop_height); for($i = 0; $i < $cropWidthTimes; $i++) { for($j = 0; $j cropImage($crop_width, $crop_height, $x, $y); $data = $img->getImageBlob(); $newFileName = $slicesDir . $name . "_" . $x . "_" . $y . ".".$ImgExt[1]; $result = file_put_contents ($newFileName, $data); } } } 

Obtendo erro fatal

 Fatal error: Class 'Imagick' not found in myfile.php line number 

Meu anfitrião dizendo:

Imagick e magia de imagem, ambos são o mesmo, infelizmente, não os temos como um módulo PHP, temos binários como ImageMagick binário e o caminho mágico de imagem é / usr / local / bin. Inclua esta function no seu script e verifique a funcionalidade do site a partir do seu final.

Não sei como corrigir esse erro.

Se eu entendo corretamente, você terá que invocar o imagick do seu script usando exec() :

  exec('/usr/local/bin/convert '.$inputFile.' -crop 96x96+ox+oy '.$newFilename); 

O ox e oy devem ser substituídos pelos valores de deslocamento corretos.

Aqui estão alguns links que podem ajudar:

  1. Como faço para usar os binários do Imagick a partir do php?
  2. Imagick – ferramenta Converter linha de comando