Держи, функция для определения коллизии двум картинок (TImage).
Код:
function IsCrossImages(const aImage1, aImage2:TImage):boolean;
begin
with aImage1 do
Result:=((aImage2.Left >= Left) and (aImage2.Top >= Top) and
(aImage2.Left <= Left+Width) and (aImage2.Top <= Top+Height))
or ((aImage2.Left+aImage2.Width >= Left) and (aImage2.Top+aImage2.Height >= Top) and
(aImage2.Left+aImage2.Width <= Left+Width) and (aImage2.Top+aImage2.Height <= Top+Height))
or ((aImage2.Left >= Left) and (aImage2.Top+aImage2.Height >= Top) and
(aImage2.Left <= Left+Width) and (aImage2.Top+aImage2.Height <= Top+Height))
or ((aImage2.Left+aImage2.Width >= Left) and (aImage2.Top >= Top) and
(aImage2.Left+aImage2.Width <= Left+Width) and (aImage2.Top <= Top+Height));
end;
Пример использования (в твоем случае):
Код:
Image4.Visible:=IsCrossImages(Image3,Image4);