Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Im einfachsten Fall: In ein BufferedImage umwandeln, und dann alle Pixel mit getRGB(x,y) holen und mit setRGB(x,y,rgb) wie gewünscht setzen. Wenn du von "Color Overlays" redest, klingt das aber, als hättest du was größeres vor!? ???:L
Du könntest die Bilder ja genau so einfach speichern. Was in diesem Fall den Unterschied vom einen Bild zum anderen angeht, sieht es nach einer Änderung des Farbtons aus. Dazu bedient man sich gerne dem HSV-Modell. Entsprechende Methoden finden sich in der Klasse java.awt.Color.
Hm. Wenn es nur um eine begrenzte (kleine) Anzahl Farben geht, könntest du die (wie Ark sagte) einzeln speichern. Sind ja nicht riesig
Wenn du zur Laufzeit des Programmes beliebige (ggf. FREI vom Benutzer definierbare) Farben vergeben willst, gibt's mehrere mögliche Ansätze. Der einfachste, wie gesagt, alle "relevanten" Pixel im BufferedImage per Hand ersetzen. Ausgefeiltere Möglichkeiten wären z.B. eine BufferedImageOp (die aber "komplizierter" zu implementieren und anzuwenden ist), oder ... ???:L das, was meiner Interpretation von einem "Color Overlay" am nächsten kommen würde: ein Bild zu zeichnen, und dann "halbdruchsichtig" mit einer anderen Farbe drüberzupinseln... aber ob das immer sinnvolle Ergebnisse liefert...? ???:L