gpt4 book ai didi

php - 将不透明像素转换为黑色

转载 作者:可可西里 更新时间:2023-11-01 13:04:06 26 4
gpt4 key购买 nike

我正在寻找一种转换图像的方法,以便所有非透明像素(具有 alpha != 1 的像素)不受影响(或转换为白色)为黑色和透明像素。我得到的最接近的是使用以下 imagemagick 命令:

convert <img> -colorspace Gray <out>

然而,这仍然给我一些灰色,而不是完全的黑色。我已经尝试了所有的色彩空间选项,但没有一个能奏效。

知道如何使用 imagemagick 或类似工具(或使用 PHP 库,如果存在的话)实现此目的

最佳答案

我知道这个问题很老,但现在我偶然发现了它,我不妨回答一下。

你想要的 ImageMagick 命令是:

convert <img> -alpha extract -threshold 0 -negate -transparent white <out>

我也会详细说明它在做什么。

  1. -alpha extract - 获取图像的 alpha 掩码。完全透明的像素为黑色,完全不透明的像素为白色。
  2. -threshold 0 - 如果所有 channel 大于零,则将它们增加到最大值。在这种情况下,它将使除了完全黑色的像素之外的每个像素都变白
  3. -negate - 反转图像。现在我们的黑人是白人,我们的白人是黑人。
  4. -transparent white - 将白色像素设置为透明。如果您希望原来的透明像素为白色,则可以排除此选项。

之前

PNG image with alpha channel

之后

Previous image after running the convert command

关于php - 将不透明像素转换为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3426059/

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