Si las imágenes
A y
B tienen una posición
X y
Y y un
alto y
ancho, una intercepta a la otra siempre que el rectángulo formado por alguna de las 2 imágenes contenga al menos un punto del rectángulo de la imagen contraria.
De no ser posiciones rectangulares es que se complica más, ahora escribo un código de ejemplo para que se vea con mayor claridad.
Aquí esta es un proyecto vació de WindowsForm el siguiente código:
Imports System.Drawing.Drawing2D
Public Class Form1
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
Dim A As New GraphicsPath
Dim B As New GraphicsPath
'Las coordenadas y tamaños son solo de ejemplo'
A.AddRectangle(New Rectangle(10, 50, 100, 200))
B.AddRectangle(New Rectangle(30, 69, 200, 100))
'Se dibujan los rectangulos de ejemplo'
e.Graphics.FillPath(Brushes.Green, A)
e.Graphics.FillPath(Brushes.Red, B)
'Se guardan las regiones de los rectangulos'
Dim RegionA As New Region(A)
Dim RegionB As New Region(B)
'Se guarda en RegionA la intercepción que existe entre A y B'
RegionA.Intersect(RegionB)
'Se pinta la region intercepta'
e.Graphics.FillRegion(Brushes.Blue, RegionA)
Dim Punto As PointF = RegionA.GetBounds(e.Graphics).Location
'Si la region no esta vacia, entonces estamos en presencia'
'de una intercepcion, ya que hemos logrado pintarla'
If Not RegionA.IsEmpty(e.Graphics) Then
e.Graphics.DrawString("Intercepción", Me.Font, Brushes.Red, Punto.X, Punto.Y)
End If
End Sub
End Class