Hello there,
What you're asking for can be done using an HTML5 Canvas.
Whether the user has to upload his own image or use a predefined background our job would be to draw that image to the canvas and then start editing.
We can create something similar to the Whatsapp Image editor where the user can select a "Text Box" and drag it around, chose his text and color, apply some basic transformation to the text such as Stroking or Underlining then saving the image.
Once that's done we will "draw" those changes to that Canvas and save the image on our PHP server.
The user will then be able to see it, download it and use it.
I'm a preferred freelancer which means I was handpicked to be part of the 1% elite team on Freelancer, I know what I'm doing and I shared with you my plan, I would love to discuss this further with you.
Looking forward to it,
Mario A.