This should work .... As you can see ... it's dog slow. The percent param should be between 0 and 1.0.
Stevie
Stevie
Graphics 800,600,16,1 ;load starting image Global Image1 = LoadImage( "Screenshot003.bmp") ;load ending image Global Image2 = LoadImage( "Screenshot006.bmp") ;create image to be displayed same size as other 2 Global Image3 = CreateImage( ImageWidth( Image1), ImageHeight( Image1) ) Dir = 10 Cur = 0 While Not KeyDown(1) Cur = Cur + Dir : If Cur = 0 Or Cur = 100 Dir = - Dir IMAGEblend( Image1, Image2 , Image3 , Floor(Cur) / 100.0 ) DrawImage Image3, 0,0 Flip Wend ;======================================================================================== ;======================================================================================== ;======================================================================================== Function IMAGEblend( Image1, Image2 , Image3 , Percent# ) IW = ImageWidth( Image1 ) IH = ImageHeight( Image1 ) LockBuffer ImageBuffer( Image1 ) LockBuffer ImageBuffer( Image2 ) LockBuffer ImageBuffer( Image3 ) For j = 0 To IH- 1 For i = 0 To IW - 1 ;get colour info from image 1 argb1 = ReadPixelFast( i,j, ImageBuffer( image1 ) ) r1 = ( argb1 And $FF0000) Shr 16 g1 = ( argb1 And $FF00 ) Shr 8 b1 = ( argb1 And $FF ) a1 = ( argb1 And $FF000000 ) Shr 24 ;get colour info from image 2 argb2 = ReadPixelFast( i,j, ImageBuffer( image2 ) ) r2 = ( argb2 And $FF0000) Shr 16 g2 = ( argb2 And $FF00 ) Shr 8 b2 = ( argb2 And $FF ) a2 = ( argb2 And $FF000000 ) Shr 24 ;interpolate colours from image 1 to image 2 r = r1 + ( r2 - r1 ) * Percent g = g1 + ( g2 - g1 ) * Percent b = b1 + ( b2 - b1 ) * Percent a = a1 + ( a2 - a1 ) * Percent argb = ( a Shl 24 ) Or ( r Shl 16 ) Or ( g Shl 8 ) Or b WritePixelFast i , j , argb, ImageBuffer( Image3 ) Next Next UnlockBuffer ImageBuffer( Image1 ) UnlockBuffer ImageBuffer( Image2 ) UnlockBuffer ImageBuffer( Image3 ) SetBuffer BackBuffer() End Function ;======================================================================================== ;======================================================================================== ;========================================================================================