(PECL imagick 2, PECL imagick 3)
Imagick::motionBlurImage β ΠΠΌΠΈΡΠΈΡΡΠ΅Ρ ΡΠ°Π·ΠΌΡΡΠΈΠ΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ
$radius,$sigma,$angle,$channel = Imagick::CHANNEL_DEFAULTΠΠΌΠΈΡΠΈΡΡΠ΅Ρ ΡΠ°Π·ΠΌΡΡΠΈΠ΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ. Π‘Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π°ΡΡΡΠΎΠ²ΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π΄ΠΈΡΡΠ° ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ (ΡΠΈΠ³ΠΌΠ°). ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠΌΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π΄ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΈΠ³ΠΌΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°Π΄ΠΈΡΡ 0, ΠΈ MotionBlurImage() Π²ΡΠ±Π΅ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ°Π΄ΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. Π£Π³ΠΎΠ» Π·Π°Π΄Π°ΡΡ ΡΠ³ΠΎΠ» ΡΠ°Π·ΠΌΡΡΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ.
radiusΠ Π°Π΄ΠΈΡΡ Π³Π°ΡΡΡΠΈΠ°Π½Ρ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ , Π½Π΅ ΡΡΠΈΡΠ°Ρ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΈΠΊΡΠ΅Π»Ρ.
sigmaΠ‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΠ°ΡΡΡΠ° Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ .
angleΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠ° ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΡΠ³Π»ΠΎΠΌ.
channelΠ£ΠΊΠ°ΠΆΠΈΡΠ΅ Π»ΡΠ±ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΊΠ°Π½Π°Π»Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π° Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠ°Π½Π°Π»Π°. Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΡΠΈΠΏΠ° ΠΊΠ°Π½Π°Π»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ±ΠΈΡΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠΏΠΈΡΠΊΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΊΠ°Π½Π°Π»Π°. ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠ°Π½Π°Π»Π° Π²Π»ΠΈΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Imagick ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ Ρ ImageMagick Π²Π΅ΡΡΠΈΠΈ 6.4.4 ΠΈΠ»ΠΈ Π²ΡΡΠ΅.
Π€ΡΠ½ΠΊΡΠΈΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Imagick::motionBlurImage()
<?php
function motionBlurImage($imagePath, $radius, $sigma, $angle, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->motionBlurImage($radius, $sigma, $angle, $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}
?>