【工具】一条命令去除图片黑边

所有非透明像素的色值都是原封不动的,所以变浅就有点不大对劲

感谢大佬 2个颜色混合同权 各是0.5的比例么 :joy: 另外扩边一开始跟美术商量好出图时就处理好也可以吧

0.5比例是为了好解释,实际根据采样位置会有不同权重。
美术同学确实可以直接处理,如果他不觉得麻烦的话:joy:

战略mark

mark,所以美术同学给的透明是(255,255,255,0)就不会有黑边是吗?

这么处理会有白边,和黑边出现的原理相同。最好还是给和边缘颜色相近的透明色。
容易出现在深色图片+深色背景的情况下。参考下图左侧

另外如果设置成alpha=0的颜色,在微信上可能起不到效果,我选择设置alpha=3。原因参考这位大佬的经验

mark,大佬nb!

学废了,多谢大佬解惑

mark!

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。

有可能是 metadata 被剔除导致的,来自特殊硬件的图片,gamma 设置不匹配导致图片变白

把半年前的图捞出来看了下,的确是颜色配置文件丢失导致的。
看来我之前的分析都是错误的:sweat_smile:
比较坑的是我常用的图片处理工具Paint.Net竟然不会读这部分信息,于是我当时在软件里怎么看都没区别:flushed:

工具晚点更新下。
感谢回复,受教了。

1赞

战略mark

商店和Pypi源都已经更新fix了发白问题。
目前去黑边时会保留原图的所有metadata。
相关问题JS版工具的大佬 @1099263878 也看看?

附件是有问题的对比图
扩边前后对比.zip (5.3 KB)

1赞

有个疑问,如果多张图片构建时要打成autoatlas,并且他们的iccp都不一样,引擎会怎么处理?

我记得是编辑器还是哪个图片处理工具是带有扩边这个选项的吧?不知道效果是一样的么?


看说明是在外框扩边1px,防止在图集里采样时插值吸入了旁边的纹理。

我这个工具是图内半透明边缘的扩边。
TexturePacker有个“减少边界伪影”的选项,不确定原理是不是一样。

另外对于packable = false的图以及动态合图的图,还是需要用工具离线处理下的。

查了下TexturePacker的“减少边界伪影/ReduceBorderArtifacts”,和工具是一样的原理。

:+1:大佬6p