I don't know how to do the transition automatically, but I know you
can do it manually. The Bitmap object has a GetPixel function which
will return the RGB value of a particular pixel of a picture. If you
get the RGB values of both pictures at the same pixel, it would be
possible to transition between the two pixel colors. This would be
processor intensive, so you may save off the resulting images to
display if you are going to show the transition multiple times.
I did something similar here, which you can modify to make the
transition.
public Bitmap PicAdd(Bitmap FirstImage, Bitmap SecondImage)
{
Bitmap bmp = (Bitmap)FirstImage.Clone();
byte red;
byte green;
byte blue;
for (int row = 0; row < SecondImage.Height; row++)
{
for (int col = 0; col < SecondImage.Width; col++)
{
red = (byte)(FirstImage.GetPixel(col, row).R &
SecondImage.GetPixel(col,row).R);
green = (byte)(FirstImage.GetPixel(col, row).G &
SecondImage.GetPixel(col,row).G);
blue = (byte)(FirstImage.GetPixel(col, row).B &
SecondImage.GetPixel(col,row).B);
Color color = Color.FromArgb(red, green, blue);
bmp.SetPixel(col, row, color);
}
}
return bmp;
}