【发布时间】:2017-05-22 09:58:45
【问题描述】:
我得到了这个代码:
$im = new Imagick("test.jpg");
$im->paintTransparentImage($im->getImageBackgroundColor(), 0, 500);
$im->setImageFormat('png');
$im->writeImage('finish.png');
这是结果(我手动添加了粉红色背景以更好地查看问题):
当我增加fuzz 时,更多的白色像素会在对象旁边消失,但更多的白色像素也会在对象内消失。
我在网站上尝试了相同的图像,结果是:
这是非常完美的。有人知道该怎么做吗?
如果有人需要原始图像进行测试:
更新:
在$im->paintTransparentImage 之前添加$im->despeckleimage(); 可以获得更好的结果:
唯一需要做的就是用白色像素填充小的空白区域。有什么办法吗?
【问题讨论】:
-
第二种解决方案是最糟糕的,它只是删除了每个白色像素,第三种不是 PHP。谁能告诉我用 PHP 的解决方案吗?
-
第一个解决方案也只去除了 100% 白色像素,你为什么还要回答
-
对不起我的错。
-
@AnneSchwarz 你用什么 html 来获得第三个解决方案?你可以编辑你的问题并添加它吗?另外,您添加了什么代码来增加模糊度?你能用更相关的代码详细说明你的问题吗?
-
"你用什么 html 来获得第三个解决方案?"什么? oO fuzz 在代码中设置为 500
标签: php image-processing imagick