如何在golang中将白色背景更改为透明?
来源:stackoverflow
时间:2024-03-31 14:57:34 251浏览 收藏
小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《如何在golang中将白色背景更改为透明?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!
如何将Golang image.Image
的白色背景更改为透明?
我想把白色背景变成半透明颜色,你有什么建议吗?
解决方案
这通常是不可能的,但有一些启发式方法可以尝试这一点。
为什么不可能?
如果原始图像具有一些透明像素并在纯白色背景(或任何已知背景)上渲染,则生成的图像中会丢失信息。例如,粉红色像素是由具有一定透明度的红色像素创建的,还是由不具有透明度的真正粉红色像素创建的?
即使是纯白色像素也可能最初是全白的,或者完全透明的,或者介于两者之间。
启发式方法
如果您了解原始图像或可以通过查看图像来推断某些内容,您也许能够推断出原始像素的颜色和透明度。简单的第一步是,如果外部像素是白色,那么您可能需要用完全透明的像素淹没该区域。此外,彩色区域内的白色区域可能是孔,也可以是透明的。
接下来,您可以推断单一颜色对象周围的边框像素的颜色(假设使用透明度来消除锯齿)。例如,对于圆周上带有粉红色像素的红色圆圈,它们可能最初是红色的,但具有一定的透明度,导致它们呈现为不同深浅的粉红色。对于更复杂的多色形状,您可以通过使用判断、原始图像的知识/猜测以及如何执行抗锯齿的知识来手动编辑图像,从而获得合理的结果。
多年前,我编写了一个 Paint.Net 插件(C#)来自动执行此类操作,有时它会给出合理的结果,但通常您需要手动完成。
今天关于《如何在golang中将白色背景更改为透明?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
-
502 收藏
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
139 收藏
-
204 收藏
-
325 收藏
-
477 收藏
-
486 收藏
-
439 收藏
-
357 收藏
-
352 收藏
-
101 收藏
-
440 收藏
-
212 收藏
-
143 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习