Construct a program or function that takes input in form of
<width>, <height>, <color1>, <color2>
and generates an output such that first row alternates between pixels of color
<color2> with a period of
<height>. For each row that follows, the period shall be
<height> - <row number>. Note that
<color1> always begins the row.
120, 6, #000000, #FFFF00:
80, 50, #000000, #FFFF00:
(Sample output has been scaled for clarity)
This is code-golf, so the shortest valid entry in bytes wins.