2

我试图将 PDF 或 JPG 文件转换为特定颜色透明的 png。

例如。我有一个带有白色背景和黑色文本的文件,并且想将白色区域转换为 png 上的透明

我试过使用 imagemagick :

 exec('convert -density 144 ' . $infile.' -transparent "#FFFFFF" ' .$png_file);

由于某种原因,这似乎有时有效,有时无效

黑色的边缘也呈锯齿状。有谁知道使边缘更平滑的方法。或 php 中用于创建透明度的任何其他函数。

此外,质量需要完美,有时当文件的尺寸很小时,输出 png 的分辨率非常低,我需要将其保持在相同的尺寸,所以我不能真正使用 -density 函数

4

1 回答 1

0

您可以使用 fuzz factor 选项克服锯齿状边缘-fuzz,但正如使用手册所解释的那样,结果可能符合您的需求,也可能不符合您的需求。

使用手册中也详细讨论了背景去除,描述了除使用该-transparent选项之外的几种技术。

如果没有更多信息,我不知道为什么您的转换代码有时有效,而在其他情况下无效,但我认为您不需要-densityJPG 转换选项。这可能是问题所在。

于 2013-12-21T07:36:07.507 回答