Anuncios Google

Ampliar imagen

Me he propuesto, como ejercicio. Idear una función que amplie el tamaño de una imagen.

 

De momento, he hecho mi "imagen virtual" con un array:

 

unsigned char Ejemplo = 
 
{{0,0,0,2,0,0,0,0,0,0},
{0,0,2,2,0,0,2,2,0,0},
{0,4,4,4,2,2,4,4,0,0},
{4,4,4,4,4,2,4,4,4,0},
{4,4,4,4,4,4,4,4,4,0},
{4,4,4,4,4,4,4,4,4,0},
{4,4,4,4,4,4,4,4,4,0},
{4,4,4,4,4,4,4,4,4,0},
{0,4,4,4,4,4,4,4,0,0}};

Cada número representa un color de la paleta de colores, dibujando los pixeles uno a uno tenemos la imagen.

 

He ideado este algoritmo por el momento (Objetivo es la imagen original, y Devolver es la imagen ampliada):

 

void Escalar(Sprite Objetivo,Sprite Devolver,int x, int y,int Escala)
{
 
     for (int j = 0; j < y; j++)
           for (int i = 0; i < x;i++)
               for (int l = j*Escala; l <= (j*Escala)+Escala;l++)
                  for (int k = i*Escala; k <= (i*Escala)+Escala;k++)
                     Devolver[k][l] = Objetivo[i][j];
}

 

Basicamente, lo que hace es repetir los números de una matriz tantas veces como se pida. Obtenemos el siguiente resultado (Escala = 2):

 

 

Ejemplo Original:
 
(0,0,0,4,4,4,4,4,0,0,) 
0,0,4,4,4,4,4,4,4,0,) 
0,2,4,4,4,4,4,4,4,0,) 
2,2,4,4,4,4,4,4,4,0,) 
0,0,2,4,4,4,4,4,4,0,) 
0,0,2,2,4,4,4,4,4,0,) 
0,2,4,4,4,4,4,4,4,0,) 
0,2,4,4,4,4,4,4,4,0,) 
0,0,0,4,4,4,4,4,0,0,) 
0,0,0,0,0,0,0,0,0,0,) 
 
Ejemplo Ampliado: 
 
(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,) 
0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,) 
0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
2,2,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
2,2,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,0,0,2,2,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,0,0,2,2,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,0,0,2,2,2,2,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,0,0,2,2,2,2,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,) 
0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,) 
0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,) 
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,) 
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,) 

 

Parece que hemos conseguido nuestro objetivo, pero... Probemos ahora un valor de escala grande (20):

 

¡La imagen sale cuadriculada!. ¿Cómo puedo conseguir que salga más "redondeada"?. ¿Alguna idea?

 

PD: La imagen no sale pixelada, las manchas que se ven allí han salido al pasar las capturas a PNG


Editado: El límite del ancho de las imágenes es de 500 pixeles, sobrepasar este límite puede descolocar la web e incumple las Normas de la Comunidad, antes de volver a postear por favor revíselas.| AORV


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de joserc87

Interpolando.

Lo primero, para cada píxel (i,j) de la imagen grande tienes que buscar la posición dentro de la imagen pequeña. Por ejemplo, si tienes una imagen de tamaño 4x4 y la quieres ampliar a 8x8, el pixel (0,0) de la imagen grande sería el (0,0) de la imagen pequeña, y el pixel (7,7) sería el (3,3) de la pequeña. En general, a cada píxel (x,y) de la imagen grande le correspondería el pixel (x', y') donde x'=x*3/7 e y'=x*3/7. Así, el pixel (4,4) en la imagen iría al (1.714, 1.714). No te preocupes si no sale entero, ya que vamos a trabajar con floats (o doubles).

Bien, una vez que sabemos la posición del píxel dentro de la imagen pequeña, calculamos su valor por interpolación. Imagínate que el píxel es el (1.714, 1.714).Esas coordenadas estarían en el cuadrado formado por los vértices (1,1), (1,2), (2,2) y (2,1). Vamos a suponer que los colores de estos puntos son a, b, c y d respectivamente. Primero vamos a calcular qué color tendrían los puntos (1.714, 1) y (1.714, 2). Serían respectivamente v1=(1.714-1)*a+(2-1.714)*b y el otro v2=(1.714-1)*c+(2-1.714)*d. Luego el punto (1.714, 1.714), que está entre esos dós puntos, tendrá un color de (1.714-1)*v1+(2-1.714)*v2

Si se ha entendido el algoritmo sería el siguiente.

/**
 * @param h1 Es la altura de la imagen sin ampliar
 * @param w1 Es la anchura de la imagen sin ampliar
 * @param h2 Es la altura de la imagen ampliada
 * @param w2 Es la anchura de la imagen ampliada
 */
void Escalar(Sprite Objetivo,Sprite Devolver,int h1, int w1, int h2, int w2)
{
     for (int i = 0; i < h2;i++){
          for (int j = 0; j < w2; j++){
 
               // Coordenadas del pixel (i,j) dentro de la imagen chica
               float icoord = ((float)i*(h1-1))/(h2-1);
               float jcoord = ((float)i*(w1-1))/(w2-1);
               int left = floor (icoord);
               int right = ceil (icoord);
               int up = floor (jcoord);
               int down = ceil (jcoord);
 
               // Los 4 puntos que forman el cuadrado
               float a = Objetivo [left][up];
               float b = Objetivo [left][down];
               float c = Objetivo [right][up];
               float d = Objetivo [right][down];
 
               float v1 = (jcoord-up)*a+(down-jcoord)*b;
               float v2 = (jcoord-up)*c+(down-jcoord)*d;
 
               float colorFinal = (icoord-left)*v1+(right-icoord)*v2;
               Devolver[i][j] = colorFinal;
        }
    }
}

Seguramente no funcione a la primera, ya que no lo he probado. Además, habría que ver algunos casos particulares, como que si el punto (icoord, jcoord) es entero, no hace falta interpolar, pero lo que quiero que quede más o menos claro es el concepto.

Lo único malo es que tu estas usando una paleta de colores, lo que no permite mezcla. Es decir, que si el 1 es el rojo y el 3 el amarillo (por ejemplo) el 2 no será el naranja, no?. Así que si quieres usar el algoritmo tendrías que usar niveles de gris o colores en RBG (el algoritmo sería el mismo, solo habría que cambiar la matriz). Lo bueno es que el algoritmo es TOTALMENTE GENÉRICO!. Es decir, que lo puedes usar para agrandar una imagen de 10x10 a 20x20, o a 15x15 (escala 1.5), o a 25x16 (no cuadrado), o incluso reducir a 7x7 o 5x8. CUALQUIER COSA!

Saludos!


Be pointer my friend...

Dennis Ritchie. Padre de C y cocreador de UNIX.

R.I.P.

 

Realizando un copy&paste. No

Realizando un copy&paste. No funciona ("Escala 5"):

 

Sprite normal:
 
(0,0,0,4,4,4,4,4,0,0,) 
0,0,4,4,4,4,4,4,4,0,) 
0,2,4,4,4,4,4,4,4,0,) 
2,2,4,4,4,4,4,4,4,0,) 
0,0,2,4,4,4,4,4,4,0,) 
0,0,2,2,4,4,4,4,4,0,) 
0,2,4,4,4,4,4,4,4,0,) 
0,2,4,4,4,4,4,4,4,0,) 
0,0,0,4,4,4,4,4,0,0,) 
0,0,0,0,0,0,0,0,0,0,) 
 
Sprite ampliado: 
 (0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 
0,0,0,0,0,0,3,3,2,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,2,3,3,3,0,0,0,0,0,0,) 

 

A mi parecer, el error no tiene nada que ver con que esté en modo de 16 colores. De todas formas he hecho la prueba en 32 bits:

 

 

Imagen Original:
 
(0,0,0,13107200,13107200,13107200,13107200,13107200,0,0,) 
0,0,13107200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
0,51200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
51200,51200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
0,0,51200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
0,0,51200,51200,13107200,13107200,13107200,13107200,13107200,0,) 
0,51200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
0,51200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
0,0,0,13107200,13107200,13107200,13107200,13107200,0,0,) 
0,0,0,0,0,0,0,0,0,0,) 
 
Imagen Ampliada:
 
(0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 

 

He mirado tú código pero por aquí ya me empiezo a liar:

 

float v1 = (jcoord-up)*a+(down-jcoord)*b;
float v2 = (jcoord-up)*c+(down-jcoord)*d;
 
float colorFinal = (icoord-left)*v1+(right-icoord)*v2;

 

Sigo sin entender porque multriplicas colores con coordenadas (tienen algo que ver ¿?)... Si lo que buscas es un valor medio, no habría que sumar los dos colores y dividirlos entre 2?


Editado: El límite del ancho de las imágenes es de 500 pixeles, sobrepasar este límite puede descolocar la web e incumple las Normas de la Comunidad, antes de volver a postear por favor revíselas.| Ayrton990

Imagen de joserc87

Error.

Los resultados son totalmente predecibles. Tal y como te había puesto en el comentario anterior, no se puede usar con PALETA, simplemente porque si X es rojo e Y es azúl, (X+Y)/2 no es morado.
Respecto a tu pregunta, no multiplico coordenadas con colores, solo pondero. Hacer la media sería (X+Y)/2, pero también se puede expresar como X*0.5+Y*0.5. Si quieres hacer una ponderación 70%-30% sería X*0.7+Y*0.3. En general, si p es un valor entre 0 y 1, la ponderación sería X*p+Y*(p-1). La resta de coordenadas que se ve más arriba sería la p.
Te pongo un caso más sencillo. Imagínate una imagen donde todos los píxeles de más a la izquierda son negros (el valor que sea, 2 por ejemplo) y los de la derecha blancos (valor 5 por ejemplo). Si la imagen tiene tamaño 256 por ejemplo, el color será 2*x/255+5*(1-x/255). No se si se entiende...


Be pointer my friend...

Dennis Ritchie. Padre de C y cocreador de UNIX.

R.I.P.

 

No me has entendido, he hecho

No me has entendido, he hecho la prueba también con COLORES RGB (uso una función que convierte los tres colores en un mismo valor decimal). El caso es que sale exactamente el mismo resultado:

 

 

Imagen Original:
 
(0,0,0,13107200,13107200,13107200,13107200,13107200,0,0,) 
0,0,13107200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
0,51200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
51200,51200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
0,0,51200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
0,0,51200,51200,13107200,13107200,13107200,13107200,13107200,0,) 
0,51200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
0,51200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,0,) 
0,0,0,13107200,13107200,13107200,13107200,13107200,0,0,) 
0,0,0,0,0,0,0,0,0,0,) 
 
Imagen Ampliada:
 
(0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 
0,0,0,0,0,0,11774423,9372735,6967592,4558996,2146946,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,13107200,3930520,7517121,10219361,12037226,12970724,0,0,0,0,0,0,) 

 

Pero ya no hablo de colores, si miras los numeros verás que no se corresponden...

 

En cuanto a la pregunta, porque los valores "P" se corresponden con:

float V1 = (jcoord-up)*a+(down-jcoord)*b;
float V2 = (jcoord-up)*c+(down-jcoord)*d;

Editado: El límite del ancho de las imágenes es de 500 pixeles, sobrepasar este límite puede descolocar la web e incumple las Normas de la Comunidad, antes de volver a postear por favor revíselas.| Ayrton990

Imagen de joserc87

Así es imposible

No puedes codificar los colores ya que tendrías que usar una función tal que respete las mezclas como te he dicho antes, y no existe ninguna función así. Si te fijas en los resultados, los números están bien (de 0 a 13107200 pasa por unos cuantos números intermedios), pero si te fijas en la imagen no cuadra, simplemente porque los números intermedio deberían dar colores rojo oscuro, y no blancos.

En resumen, que a la fuerza vas a tener que usar códigos RGB DE VERDAD.

Respecto a la pregunta, jcoord-up sería un número entre 0 y 1 y down-jcoord sería en realidad 1 menos ese número, así que en principio podrías expresarlo como 1-(jcoord-up). Así, si jcoord-up vale 0.15, el otro valdrá 0.85, etc.

Saludos


Be pointer my friend...

Dennis Ritchie. Padre de C y cocreador de UNIX.

R.I.P.

 

Pero fijate en la FORMA, la

Pero fijate en la FORMA, la distribución de los números en la segunda tabla no tiene nada que ver con la primera... Si te fijas, cada columna de la segunda es de un color, mientras que los colores de la primera no siempre ocupan una columna entera... Además que se pierde la forma del dibujo y tal.

 

No, entiendo la parte jcoord-up pero no entiendo porque lo multriplicas por su color... El parametro de ponderación debería ser la distancia, no el color en sí (¿?).

Imagen de anxoganso

No se si sevira no tengo

No se si sevira no tengo experiencia en esto pero supongo que mezclando colores

por ejemplo

4 2

4 3 3 2

 

Y luego tambien en vertical

Pero tienes k hacer los dos a la vez

 

Aunque asi kedaria como borrosa pero mejor k pixelada

EDITO:

Me he dado cuenta de k no es lo mismo numeros que imagenes por las imagenes tienen tres cifras o 4 si tienen alpha para los colores

Tendrias que combinar los distintos colores rojo, verde, azul con el resto


Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.