If all you want is one color, you could constructed a text file as a 'bmp with the color bytes set to the required color.
My unsophisticated method

others might have a better idea)
Using Paint, save a trial .bmp that has a mixed color of say Red 64, Green 70, Blue 80
Then examine the file contents by loading it into a byte array to see how the header bits are structured including the size of the picture.
The remaining bytes represent the color value of the pixels in the bmp. By observing the values you can see which one is blue etc,
For a=0 to 100

rint a,MyArray(a):Next
To create a different colored bmp, just replace the bytes that represent the amount of color you want
Then save the new byte array and rename it as a .bmp
The following is the first bytes of a .bmp seen by wordpad.
BMf9 6 ( O = 09 PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@PF@
You can see the ASC values of the color pixels P=80(Blue), F=70(Green), @=64(Red)
Unfortunately the range of byte values of a .bmp is from 0 to 255 so you cant really see everything properly with a text editor so you have to manipulate it in bytes.