Function FillBitmap(Buffer() As Byte, SrcColor As RGB, DestColor As RGB, ByVal Width As Long, ByVal Height As Long)
Dim SrcColorRed As Byte, SrcColorGreen As Byte, SrcColorBlue As Byte
Dim DestColorRed As Byte, DestColorGreen As Byte, DestColorBlue As Byte
Dim Red As Double, Green As Double, Blue As Double
Dim DeltaRed As Double, DeltaBlue As Double, DeltaGreen As Double
Dim Y As Long, X As Long, lIndex As Long
SrcColorRed = SrcColor.Red
SrcColorGreen = SrcColor.Green
SrcColorBlue = SrcColor.Blue
DestColorRed = DestColor.Red
DestColorGreen = DestColor.Green
DestColorBlue = DestColor.Blue
DeltaRed = (SrcColorRed - DestColorRed) / Height
DeltaGreen = (SrcColorGreen - DestColorGreen) / Height
DeltaBlue = (SrcColorBlue - DestColorBlue) / Height
Red = SrcColor.Red
Green = SrcColor.Green
Blue = SrcColor.Blue
For Y = 0& To Height - 1&
Red = Red - DeltaRed
Green = Green - DeltaGreen
Blue = Blue - DeltaBlue
For X = 0& To Width - 1&
lIndex = (Y& * Width& + X&) * 3&
Buffer(lIndex&) = Blue
Buffer(lIndex& + 1&) = Green
Buffer(lIndex& + 2&) = Red
Next X
Next Y
End Function