|
|
发表于 2006-8-21 18:59:00
|
显示全部楼层
Re:[求助]透明色问题
其实目前大多数显卡的16位颜色模式是RGB565的。不过极少数使用的是RGB555的模式。
Public Function DxRGB1(ByVal R, ByVal G, ByVal B, ByVal Type1 As String) As Long
Dim Bpp As Integer, n1 As Long
Type1 = UCase$(Type1)
If Type1 = "X1R5G5B5" Then
Bpp = 5
ElseIf Type1 = "R8G8B8" Then
Bpp = 8
ElseIf Type1 = "X8R8G8B8" Then
Bpp = 8
ElseIf Type1 = "R5G6B5" Then
Bpp = 5
End If
DxRGB1 = B
DxRGB1 = DxRGB1 + G * (2 ^ Bpp)
n1 = 2 ^ Bpp * (2 ^ IIf(Type1 = "R5G6B5", 6, Bpp))
DxRGB1 = DxRGB1 + R * n1 'Dx中的RGB位置和标准RGB函数刚好相反
End Function |
|