The Algorithm:

#define MAX_ALPHA 255

for (int alpha = 0; alpha < (MAX_ALPHA + 1); alpha++)

{

for (int x = 0; x < width; x++)

{

for (int y = 0; y < height; y++)

{

P1Ratio = 1 - (alpha / MAX_ALPHA);

P2Ratio = (alpha / MAX_ALPHA);

PF[x][y][R] = (P1[x][y][R] * P1Ratio) + (P2[x][y][R] * P2Ratio)

PF[x][y][G] = (P1[x][y][G] * P1Ratio) + (P2[x][y][G] * P2Ratio)

PF[x][y][B] = (P1[x][y][B] * P1Ratio) + (P2[x][y][B] * P2Ratio)

}

}

DISPLAY PICTURE

}

The transition will be very smooth and also very slow since 'alpha++'. The speed can be achieve by 'alpha += 2' or 'alpha += 10'. The algorithm is limited to same resolution of images. I didn't test this code but hope it will work.