isn't it correct to do sth like this?
// at form create (after having created tempbmp1 and tempbmp2)
image1.loadfromfile('ciao.jpg')
tempbmp1.Canvas.CopyRect(
Rect(0,0,160,160),
image1.Canvas,
Rect(0,0,160,160));
tempbmp2.Canvas.CopyRect(
Rect(0,0,160,160),
image1.Canvas,
Rect(0,0,160,160));
// and then, during the application (at each cycle), doing sth like
tempbmp2.Canvas.CopyRect(
Rect(0,0,160,160),
tempbmp1.Canvas,
Rect(0,0,160,160));
then drawing on tempbmp2 canvas with the pen
and finally...
image1.Canvas.CopyRect(
Rect(0,0,160,160),
tempbmp2.Canvas,
Rect(0,0,160,160));