Su tarea es tomar una imagen sRGB de 24 BPP y generar la misma imagen escalada 3x en subpíxeles rojo, verde y azul. La imagen resultante estará hecha completamente de píxeles negros, rojos, verdes y azules puros.
Cada píxel de la imagen de origen, cuando se amplía, produce una disposición de 9 subpíxeles que pueden estar activados o desactivados (es decir, su color respectivo o negro). La disposición específica utiliza tres columnas de rojo, verde y azul, en ese orden, así:
(Tenga en cuenta que los bordes de estos "píxeles" son solo para demostración).
Dado que cada uno de los nueve subpíxeles solo puede activarse o desactivarse, tendrá que cuantificar la imagen de entrada y usar diferentes patrones de subpíxeles para lograr 3 niveles de brillo.
Para cada subpíxel en la imagen:
- Para los niveles de color 0-74, todos los subpíxeles deben ser negros.
- Para los niveles de color 75-134, el subpíxel medio debe ser el color respectivo y los otros dos deben ser negros.
- Para los niveles de color 135-179, el subpíxel del medio debe ser negro y los otros dos deben ser del color respectivo
- Para los niveles de color 180-255, los tres subpíxeles deben ser sus respectivos colores.
Elegí estos rangos de nivel porque es lo que pasó a verse bien
Aplique esta transformación a cada píxel en la imagen y genere la imagen subescalada.
Ejemplos de un solo píxel
rgb (40, 130, 175) producirá este patrón:
rgb (160, 240, 100) producirá este patrón:
Ejemplos de imagen completa
Imágenes procedentes de Wikipedia
Reglas y notas
- La entrada y salida pueden estar en cualquier formato conveniente, ya sean archivos de imágenes reales o (posiblemente anidados) listas de valores RGB.
- Puede suponer que los píxeles están en el espacio de color sRGB con 24BPP.
¡Feliz golf!