Chcę naśladować właściwość CSS box-shadow w ImageMagick dla obrazu. Chcę, żeby zachowywało się dokładnie tak samo. Czy istnieje funkcja lub odpowiednik mapowania?
Odpowiedzi:
3 dla odpowiedzi № 1<?php
/* Read the image into the object */
$im = new Imagick( "a.jpg" );
$im->setImageFormat("png");
/* Make the image a little smaller, maintain aspect ratio */
$im->thumbnailImage( 200, null );
/* Clone the current object */
$shadow = $im->clone();
/* Set image background color to black (this is the color of the shadow) */
$shadow->setImageBackgroundColor( new ImagickPixel( "black" ) );
/* Create the shadow */
$shadow->shadowImage( 80, 3, 5, 5 );
/* Imagick::shadowImage only creates the shadow. That is why the original image is composited over it */
$shadow->compositeImage( $im, Imagick::COMPOSITE_OVER, 0, 0 );
/* Display the image */
header( "Content-Type: image/jpeg" );
echo $shadow;
?>
również możesz zobaczyć imagemagick dla skryptu bash
1 dla odpowiedzi nr 2
Myślę, że to, czego szukasz, to Imagick :: shadowImage (przełącznik-cienia dla CLI)