gpt4 book ai didi

php - 如何在 Imagick 中设置裁剪颜色?

转载 作者:可可西里 更新时间:2023-11-01 13:55:51 28 4
gpt4 key购买 nike

我正在尝试使用 imagick 使用 php 删除图像的透明区域。

Image Magick 提供了 trim 方法: Imagick::trimImage

Remove edges that are the background color from the image. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

如何设置 Imagick 可以修剪的颜色?

以下脚本将背景颜色设置为灰色。但是,修剪会删除蓝色背景颜色,如下所示。

$im = new Imagick( "1.png" );
// Set background color to grey
$im->setImageBackgroundColor( new ImagickPixel( "rgb(213,213,213)" ) );
$im->trimImage( 0 );
$im->writeImage('2.png');

enter image description here

有什么办法可以限制装饰颜色吗?

imagick module version => 2.1.1-rc1

最佳答案

Matt Gibsons 的提示让我找到了正确的解决方案: http://www.imagemagick.org/Usage/crop/#trim_color

正如 Matt 已经解释过的,trim 方法采用角颜色来修剪图片。文档中的给定解决方案是一种解决方法:他们在调用 trim 方法之前在图像周围绘制边框。

$img = new Imagick("stripes.gif"); 
// Set the color to trim:
$img->borderImage("#FF0000", 1, 1);
$img->trimImage(0);
$img->setImagePage(0, 0, 0, 0);
$img->writeImage("test.jpg");'

Demo

关于php - 如何在 Imagick 中设置裁剪颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9567816/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com