【问题标题】:PHP Convert JPEG or PDF to PNG with transparencyPHP 将 JPEG 或 PDF 转换为具有透明度的 PNG
【发布时间】:2013-09-14 17:51:29
【问题描述】:

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

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

我尝试过使用 imagemagick :

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

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

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

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

【问题讨论】:

  • 你能指定一些示例文件哪些有效,哪些无效?

标签: php imagemagick png transparency


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-06-30
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 2018-06-05
    • 2011-06-29
    • 2018-10-19
    相关资源
    最近更新 更多