如何使用 imagick 仅在顶部和底部扭曲弧形图像?

我希望它是这样的:

http://img2.mukewang.com/60cd55140001154502950219.jpg

但我得到了这个:

http://img3.mukewang.com/60cd551e00013fa206320376.jpg

<?php

$image = new imagick( $_SERVER['DOCUMENT_ROOT']."/test/op.jpg" );

$points = array(

    90,

);

$image->setimagebackgroundcolor("#fad888");

$image->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_BACKGROUND);

$image->distortImage(\Imagick::DISTORTION_CYLINDER2PLANE, $points, true);

header("Content-Type: image/jpeg");

echo $image;


梦里花落0921
浏览 170回答 1
1回答

LEATH

您想使用滤波器,而不是失真滤波器。<?php$image = new Imagick("googlelogo_color_272x92dp.png");$image->setImageBackgroundColor("#fad888");$image->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_BACKGROUND);$image->waveImage($image->getImageHeight() / -2, $image->getImageWidth() * 2);header("Content-Type: image/jpg");echo $image->getImageBlob();您需要修剪图像以移除底部添加的额外空间。输出:
打开App,查看更多内容
随时随地看视频慕课网APP