I had a good number of rust spots and scratches on my top tube, and gave in to the impulse to spray paint the entire tube instead of the spots. I got a can of Krylon spray paint for $3.99, and sprayed something else to check the match. It was surprisingly good, so I went ahead with it.
I prepped the surface with steel wool and cleaned with mineral spirits. I did not use a primer first. I applied about 10 very light coats, with at least an hour between each.
The match was very good. In this picture, the lugs are the original paint.
I realize that it may not be very durable. In most places, however, if it scratches, it will only uncover the underlying paint, which is the same color.