Max*_*Max 6 php imagemagick image-processing
我正在寻找一种转换图像的方法,以便所有非透明像素(具有alpha!= 1的像素)变为黑色和透明像素不变(或转换为白色).我得到的最接近的是下面的imagemagick命令:
convert <img> -colorspace Gray <out>
Run Code Online (Sandbox Code Playgroud)
然而,这仍然给我一些灰色而不是完整的黑色.我已经尝试了所有颜色空间选项,但没有一个可以胜任.
任何想法我怎么能用imagemagick或类似的工具(或如果它存在的PHP库)实现这一点
Ale*_*ett 24
我知道这个问题已经过时了,但现在我偶然发现了它,我不妨回答它.
您想要的ImageMagick命令是:
convert <img> -alpha extract -threshold 0 -negate -transparent white <out>
Run Code Online (Sandbox Code Playgroud)
我会分解它正在做的事情.
-alpha extract- 拍摄图像的alpha蒙版.完全透明的像素将是黑色,完全不透明的像素是白色.-threshold 0 - 如果大于零,则将所有通道增加到其最大值.在这种情况下,除了完全黑色的像素外,它将使每个像素都变白.-negate- 反转图像.现在我们的黑人是白人,我们的白人是黑人.-transparent white- 将白色像素设置为透明.如果您希望原始透明像素为白色,则可以排除此项.
