Creo que la solución que te da
fjcg02 sería la mas conveniente si no quieres complicarte mucho la vida. De otra manera si quieres hacerlo parecido a como lo hace el Paint o el Photoshop entonces deberías tu mismo simular el Edit, utilizando los eventos OnkeyPress para saber el caractér que va escribiendo el usuario e ir insertándoselo a un string mientras dibujas el texto sobre la Imagen con TextOut, recuerda que para que el fondo del texto quede transparente tienes que establecer el estilo de la brocha:
canvas.Brush.Style := bsClear;
Y un último consejo, no sé por que usas TImage, pero cuidado, si cargas un jpg dentro de un TImage no puedes acceder a el con el canvas a no ser que lo conviertas a un Bitmap de alguna forma..
Bueno, esta opcion está compleja pero no imposible.. si lo quieres fácil hazle caso al colega fjcg02 (da un tin de trabajo escribirlo)
Saludos