Schwarz und Weiß sind nicht unbedingt günstige Beispiele wenn es um Farben geht. Falls ich es richtig verstanden habe (rot -> grün), geht es mit
RGB nicht. Schau dir mal den
HSV-Farbraum an. Dort kannst du dann die Farbwerte rotieren lassen. Delphi bietet dazu
ColorRGBToHLS und
ColorHLSToRGB an.