Producto de punto y luminancia / Findmyicone
Todos,
Tengo una pregunta básica con la que estoy luchando aquí. Cuando mire el código de muestra de findmyicone de WWDC 2010, verá esto:
static const uint8_t orangeColor[] = {255, 127, 0};
uint8_t referenceColor[3];
// Remove luminance
static inline void normalize( const uint8_t colorIn[], uint8_t colorOut[] ) {
// Dot product
int sum = 0;
for (int i = 0; i < 3; i++)
sum += colorIn[i] / 3;
for (int j = 0; j < 3; j++)
colorOut[j] = (float) ((colorIn[j] / (float) sum) * 255);
}
Y luego se llama:
normalize(orangeColor, referenceColor);
Al ejecutar el depurador, está convirtiendo BGRA: (Rojo 255, Verde 127, Azul 0) a (Rojo 0, Verde 255, Azul 0). He buscado en la web y SO para encontrar detalles sobre la luminancia y el producto de puntos y realmente no hay información.
1- ¿Puede alguien guiarme en lo que hace esta función?
2- ¿Me pueden guiar a algunos temas útiles / cartilla en línea también?
Gracias de nuevo KMB