有办法将图片的RGB转为ALPHA吗?
本帖最后由 ztjal 于 2012-10-05 00:31:37 编辑 图1,这张图的RGB其实就是ALPHA
-----------------------------------------
图2,这张图是在PHOTOSHOP上CTRL+A将RGB复制去ALPHA上的结果(要看ALPHA)
=====================================================================
在程序上如何实现?
程序上的结果就是将RGB变成0-255的值。
例如:photoshop上可以直接将rgb复制到alpha通道上。
目前用那个转灰度的公式0.299 0.587 0.114来转,但有损失,想搞photoshop那种无损的转换。
[解决办法]
程序上不就是构建一副ARGB格式的图像,将你的RGB数据复制到RGB通道,将上面这个图(你那个图明显是一副灰度图,即使你保存的是24位的,其RGB分量也是相同的)的数据复制到A通道啊。
[解决办法]
可以的。将黑色值(R+G+B)/255的百比分来弄成ALPHA
[解决办法]
不过PS是通过在BMP文件格式后追加一个ALPHA数据来实现的,因为BMP本身不支持alpha,所以不能用常规的在程序中直接new bitmap来做。要先提取追加的这段数据。
[解决办法]
If pColorB.R = pColorB.G And pColorB.R = pColorB.B Then
iAlpha = pColorB.R
Else
iAlpha = CInt(0.212671 * pColorB.R + 0.71516 * pColorB.G + 0.072169 * pColorB.B)
End If