Php 如何将背景黑色更改为透明?
我使用ImageMagick旋转图像(PHP-GD缩小图像) 但它留下的背景是黑色的。此外,图像看起来一点也不好(但比PHP-GD好) 有什么建议吗 @奥伦,@razzed 这是密码 $patchImageS = 'kapeels.png'; // the image to be patched over the final bg $imagick = new Imagick(); $imagick->readImage($patchImageS); $imagick->rotateImage(new ImagickPixel(), 355); $imagick->transparentPaintImage('black', 0.0,0,false); header('content-type:image/png'); $fp=fopen('tts.png','w+'); fwrite($fp,$imagick->getImage()); fclose($fp); $patchImageS='kapeels.png';//要在最终bg上修补的图像 $imagick=新的imagick()$imagick->readImage($patchImageS); $imagick->rotateImage(新的ImagickPixel(),355); $imagick->transparentpaignage('black',0.0,0,false); 标题('content-type:image/png'); $fp=fopen('tts.png','w+'); fwrite($fp,$imagick->getImage()); fclose($fp); 这是我试图旋转的图像-Php 如何将背景黑色更改为透明?,php,gd,imagick,Php,Gd,Imagick,我使用ImageMagick旋转图像(PHP-GD缩小图像) 但它留下的背景是黑色的。此外,图像看起来一点也不好(但比PHP-GD好) 有什么建议吗 @奥伦,@razzed 这是密码 $patchImageS = 'kapeels.png'; // the image to be patched over the final bg $imagick = new Imagick(); $imagick->readImage($patchImage
感谢各位的回复:-)创建Imagick对象后,在him参数中设置背景透明:
$imagick->newimage($width, $height, "rgba(0, 0, 0, 0)");
按如下方式旋转图像:
$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,我所能建议的就是从一个更大的图像开始,在旋转之后缩小它,看看这是否有帮助;也许需要一些磨刀。但我认为这些行太细、太近,没有多大帮助。一些示例代码、命令行或源图像URL如何?@razzed-Question-updated。看一看@奥伦-不