The point A is always outside of the rectangle and the point B is always at the center of the rectangle
Assuming the rectangle is axis-aligned, this makes things pretty simple:
The slope of the line is s = (Ay – By)/(Ax – Bx).
- If -h/2 <= s * w/2 <= h/2 then the line intersects:
- The right edge if Ax > Bx
- The left edge if Ax < Bx.
- If -w/2 <= (h/2)/s <= w/2 then the line intersects:
- The top edge if Ay > By
- The bottom edge if Ay < By.
Once you know the edge it intersects you know one coordinate: x = Bx ± w/2 or y = By ± h/2 depending on which edge you hit. The other coordinate is given by y = By + s * w/2 or x = Bx + (h/2)/s.