小伙伴们有没有觉得学习golang很有意思?有意思就对了!今天就给大家带来《如何在Golang中将白色背景更改为透明?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到
小伙伴们有没有觉得学习golang很有意思?有意思就对了!今天就给大家带来《如何在Golang中将白色背景更改为透明?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!
问题内容如何将Golang image.Image
的白色背景更改为透明?
我想把白色背景变成半透明颜色,你有什么建议吗?
这通常是不可能的,但有一些启发式方法可以尝试这一点。
为什么不可能?
如果原始图像具有一些透明像素并在纯白色背景(或任何已知背景)上渲染,则生成的图像中会丢失信息。例如,粉红色像素是由具有一定透明度的红色像素创建的,还是由不具有透明度的真正粉红色像素创建的?
即使是纯白色像素也可能最初是全白的,或者完全透明的,或者介于两者之间。
启发式方法
如果您了解原始图像或可以通过查看图像来推断某些内容,您也许能够推断出原始像素的颜色和透明度。简单的第一步是,如果外部像素是白色,那么您可能需要用完全透明的像素淹没该区域。此外,彩色区域内的白色区域可能是孔,也可以是透明的。
接下来,您可以推断单一颜色对象周围的边框像素的颜色(假设使用透明度来消除锯齿)。例如,对于圆周上带有粉红色像素的红色圆圈,它们可能最初是红色的,但具有一定的透明度,导致它们呈现为不同深浅的粉红色。对于更复杂的多色形状,您可以通过使用判断、原始图像的知识/猜测以及如何执行抗锯齿的知识来手动编辑图像,从而获得合理的结果。
多年前,我编写了一个 Paint.net 插件(C#)来自动执行此类操作,有时它会给出合理的结果,但通常您需要手动完成。
今天关于《如何在golang中将白色背景更改为透明?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在编程网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
--结束END--
本文标题: 如何在golang中将白色背景更改为透明?
本文链接: https://lsjlt.com/news/596254.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0