Brilliant DomingoGP and TRon.
Thanks for the fixes to moving the points.
Now trying to work out why the rendered bmp are not rendering the morphed pictures properly.
Looking at the bmps, there seems to be a triangular part which shouldn't be there.
The VBNet code used clone to copy the pixels, whereas I am using draw to white background
m_Bm[2] := TBGRABitmap.Create(m_Bm[0].Width, m_Bm[0].Height, clWhite);
m_Bm[2].Draw(m_Bm[0].Canvas, 0, 0, True);
Also I used the TBgrabmp MergeBGRA to merge the morphed pixels:
m_Bm[2].SetPixel(x, y, MergeBGRA(AColor, Round((1 - fraction) * 255), BColor, Round(fraction * 255)));
Perhaps something here is a bit off ?
Not sure if circular might have any idea on the morphed render anomaly ?