我有一个彩色图像,其中有很多现有的透明背景,但也有一些rgb(255,0,255)
我想另外变得透明的亮粉色块。
我这样做是这样的:
convert 0001.png -fuzz 15% -fill transparent -transparent "rgb(255,0,255)" result.png
问题是,因为原始图像是抗锯齿的,所以仍然有一个亮粉色光晕,它与例如rgba(255,0,255, 50 )
和其他部分透明的值不匹配,除非我把速度调得-fuzz
太高。
所以我想我会这样解决这个问题:
convert 0001.png -fuzz 15% -fill transparent
-transparent "rgba(255,0,255,0)"
-transparent "rgba(255,0,255,64)"
-transparent "rgba(255,0,255,128)"
-transparent "rgba(255,0,255,192)"
-transparent "rgba(255,0,255,255)"
result.png
...但是对不同程度的不透明度的额外调用-transparent
似乎没有任何额外的效果。
几乎就像在进行匹配之前调用 -transparent 截断我的rgba(255,0,255,128)
to (尽管仍然查看不透明度,但似乎总是从 255 开始这样做,而不是从我传入的不透明度开始)。rgb(255,0,255)
-fuzz
-transparent
如何替换 color 的所有示例RGB(255,0,255)
,而不考虑像素预先存在的 alpha?
这是我正在使用的图像: