Ihre Aufgabe ist es, ein 24-BPP-sRGB-Bild aufzunehmen und dasselbe Bild 3x in rote, grüne und blaue Subpixel hochskaliert auszugeben. Das resultierende Bild besteht vollständig aus reinen schwarzen, roten, grünen und blauen Pixeln.
Jedes Pixel aus dem Quellbild erzeugt beim Zoomen eine Anordnung von 9 Subpixeln, die entweder ein- oder ausgeschaltet sein können (dh ihre jeweilige Farbe oder Schwarz). Die spezifische Anordnung verwendet drei Spalten von Rot, Grün und Blau in dieser Reihenfolge wie folgt:
(Beachten Sie, dass die Ränder dieser "Pixel" nur zur Demonstration dienen.)
Da jedes der neun Subpixel nur ein- oder ausgeschaltet sein kann, müssen Sie das Eingabebild quantisieren und verschiedene Subpixelmuster verwenden, um 3 Helligkeitsstufen zu erzielen.
Für jedes Subpixel im Bild:
- Für die Farbstufen 0-74 sollten alle Subpixel schwarz sein.
- Für die Farbstufen 75-134 sollte das mittlere Subpixel die jeweilige Farbe und die anderen beiden schwarz sein.
- Für die Farbstufen 135-179 sollte das mittlere Subpixel schwarz sein und die anderen beiden sollten die jeweilige Farbe haben
- Für die Farbstufen 180-255 sollten alle drei Subpixel ihre jeweilige Farbe haben
Ich habe diese Levelbereiche gewählt, weil diese zufällig gut aussehen
Wenden Sie diese Transformation auf jedes Pixel im Bild an und geben Sie das subpixel-hochskalierte Bild aus.
Einzelpixel-Beispiele
rgb (40, 130, 175) erzeugt dieses Muster:
rgb (160, 240, 100) erzeugt dieses Muster:
Beispiele für Vollbilder
Bilder aus Wikipedia
Regeln und Notizen
- Die Eingabe und Ausgabe kann in einem beliebigen Format erfolgen, unabhängig davon, ob es sich um tatsächliche Bilddateien oder (möglicherweise verschachtelte) Listen mit RGB-Werten handelt.
- Sie können davon ausgehen, dass sich die Pixel mit 24BPP im sRGB-Farbraum befinden.
Viel Spaß beim Golfen!