Solution (source code)

= Solution

Injectivity makes the images of any three distinct points distinct. By the ordered-frame result, there is a <projective transformation> $L$ agreeing with the given map on three chosen points. Composing by $L^{-1}$ reduces to an injective map fixing those points and preserving every <cross-ratio>. Change coordinates so that the three points are $\infty,0,1$.

For any other point with affine coordinate $z$, the convention in the source gives
$$
(\infty\,0:1\,z)=z.
$$
Preservation therefore forces the image of $z$ to have the same coordinate $z$. The normalized map fixes every point and is the identity. Undoing the normalization proves \b[the original map is exactly $L$], hence projective. No prior continuity or surjectivity assumption is needed.