易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

PNG格式图片去黑底   [复制链接]

    2018-11-27 11:08:20
    2017开源大赛(第二届)
    易语言资源网
    3901 次浏览
    来源链接


去黑底的图片分两种


1.纯黑白(没有其他RGB颜色的图)


2.一种色有除黑白外其他颜色的图片



无论是那种图,其去黑底的原理都是 “越黑的像素越透明”。只是实现的细节上有区别。



对于

1.纯黑白的处理就简单多了,所有像素设置成RGBA(1,1,1, (R+G+B)/3) 即可。
2.多彩色的图片,不能使用纯黑白的处理,否则所有图都会变成黑白,其原理是找出原像素点中RGB分量中最高的值 maxV =Max(R,G,B),一般其透明度就是该值maxV。
因为其他值相对maxV比较少,所以RGB分别加上 255-maxV 的差值,其原理是将该像素点"变亮"了,从而取消了黑底对该像素点的影响。而黑底将转化为透明度

而使用多彩色图片转换的算法对纯黑白的支持也不太好, 有可能会残留灰底,其原因是 有可能在美工做图时 没有真正地使用"纯灰度",也就是说 rgb 的分值不是相等的,这里对2种图片分别做了处理。

效果图



点我下载 (已有 248 次下载)

引用模块


源码文件名 模块文件名
20171005 200523.e
Gdiplus支持库.ec


引用支持库


源码文件名 支持库文件名 支持库标识
20171005 200523.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
GDIPlus类2.4.1.e 系统核心支持库 5.0 d09f2340818511d396f6aaf844c7e325


[错误报告]   上一篇:纯组件登录界面源码...     下一篇:井字棋游戏