Private Type RGBAL
a As Long
End Type
Private Type RGBAB
r As Byte
g As Byte
b As Byte
a As Byte
End Type
Function BlendColor(ByVal Src0 As Long, ByVal Src1 As Long, ByVal Alpha As Byte) As Long
Dim v0 As Single
Dim v1 As Single
Dim p0 As RGBAB
Dim p1 As RGBAB
Dim t0 As RGBAL
Dim t1 As RGBAL
t0.a = Src0
t1.a = Src1
LSet p0 = t0
LSet p1 = t1
v0 = Alpha / 255
v1 = 1 - v0
p0.r = p0.r * v0 + p1.r * v1
p0.g = p0.g * v0 + p1.g * v1
p0.b = p0.b * v0 + p1.b * v1
LSet t0 = p0
BlendColor = t0.a
End Function