2

我正在使用 Image Magick 旋转图像(因为 PHP-GD 会缩小图像)。

但它使背景为黑色。此外,图像看起来一点也不好看(但比 PHP-GD 好)。

有什么建议么?

@ore​​n , @razzed 这是代码

$patchImageS = 'kapeels.png'; // 要在最终 bg 上修补的图像
$imagick = new imagick(); $imagick->readImage($patchImageS);
$imagick->rotateImage(new ImagickPixel(), 355);
$imagick->transparentPaintImage('black', 0.0,0,false);
header('内容类型:图像/png');
$fp=fopen('tts.png','w+');
fwrite($fp,$imagick->getImage());
fclose($fp);

这就是我要旋转的图像 -

http://www.lilpirate.net/kapeels.png

谢谢大家的回复:-)

4

2 回答 2

1

创建 Imagick 对象后,在他的参数中设置背景透明:

$imagick->newimage($width, $height, "rgba(0, 0, 0, 0)");
于 2010-07-09T12:38:41.240 回答
1

像这样旋转图像:

$im = new Imagick('kapeels.png'); 
$im->rotateImage( new ImagickPixel('none'), 7 ); 
$im->trimImage ( 0 ); 
$im->resetImagePage( '216x174+0+0' ); 
$im->writeImage('rotateImage.png');  
$im->destroy(); 

您需要重新页面以将图像重新居中画布上,但我不知道为什么您需要值,因为 Imagemagick 不使用它们。我能想到的自动设置值的唯一方法是在修剪后获取图像大小并在重置中使用它。

有了 quility,我所能建议的就是从更大的图像开始,然后在旋转后缩小它,看看是否有帮助;也许使用一些锐化。但我不认为会有多大帮助,因为线条是如此的细而紧密。

于 2012-06-23T10:41:01.947 回答