PHP将JPEG或PDF转换为PNG,具有透明度

时间:2013-09-10 21:06:48

标签: php imagemagick png transparency

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

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

我尝试过使用imagemagick:

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

这似乎有时会起作用,而不是出于某种原因

黑色的边缘也出现了锯齿状。有没有人知道如何使边缘更平滑。或者用于创建透明度的php中的任何其他功能。

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

1 个答案:

答案 0 :(得分:0)

您可以使用模糊因子选项-fuzz克服锯齿状边缘,但正如usage manual所述,结果可能适合您的需要,也可能不适合您。

还在usage manual中详细讨论了背景删除,描述了除使用-transparent选项之外的几种技术。

如果没有更多信息,我不知道为什么您的转换代码有时会起作用而不会影响其他人,但我认为您不需要-density选项进行JPG转换。这可能是问题所在。