Sto provando a tagliare una quantità variabile di spazi bianchi in un'immagine solo sul lato sinistro e destro usando ImageMagick e PHP. Qualcuno sa come farlo (forse usando qualcosa di diverso da imagemagick?)?Come posso tagliare solo il lato sinistro e destro di un'immagine usando Imagemagick in PHP?
Ecco un esempio.
Ho questi due immagini:
Ognuno ha una quantità variabile di testo che viene creato dinamicamente in un'immagine larghezza fissa. Che cosa devo fare è tagliare il fondo fuori dal lato destro e sinistro in modo che le immagini vengono fuori in questo modo:
Se ImageMagick non può farlo, io sono disposto a usare qualcosa di diverso , ma avrò bisogno di aiuto su come esattamente perché non sono un gran programmatore. Grazie!
Ecco il mio codice corrente che rifila tutti i lati di un'immagine:
<?php
/* Create the object and read the image in */
$i = '3';
$im = new Imagick("test".$i.".png");
/* Trim the image. */
$im->trimImage(0);
/* Ouput the image */
//header("Content-Type: image/" . $im->getImageFormat());
//echo $im;
/*** Write the trimmed image to disk ***/
$im->writeImage(dirname(__FILE__) . '/test'.$i.'.png');
/*Display Image*/
echo $img = "<img src=\"test".$i.".png\">";
?>
Sono stato in grado di tagliare il lato destro e sinistro di un'immagine usando questo codice: exec ('convert test4.png -gravity West -background white -splice 5x0 -background black -splice 5x0 -trim + repage -chop 5x0 test44.png '); Grazie! exec ('convert test44.png -gravity East -background white -splice 1x0 -background black -splice 1x0 -trim + repage -chop 1x0 test44.png'); – Nathan
Puoi anche combinare i lati del taglio in un unico comando (che è più efficiente e fornirà una migliore qualità), ad esempio per i margini destro e inferiore: 'convert -gravity North -background white -splice 0x1 -trim + repage -chop 0x1 -gravity West -background white -splice 1x0 -trim + repage -chop 1x0