We are looking to create a .NET API (VB.NET/WebAPI/JSON) that can superimpose various lines of text onto an image. This API/Controller/Code will be integrated into our existing projects. The requirements of the project are:
1. Be able to accept a chunk of JSON that defines "lines" of text, including font-size, font-style, font-color, font-family, the input text itself, optionally the X and Y points to draw the lines on the image, and optionally the height/width constraints of the "imaginary text-boxes" that are to receive text
2. These lines of text and/or their constraining text-boxes should support word-wrap (onto additional lines), text-alignment (center, left, right), and the ability to downscale the font-size to constrain to the overall image's proportions
3. Be able to execute steps 1 and 2 on a provided web-based JPG/PNG (image URL would be provided by the JSON)
4. Be able to return/save the resulting image as a JPG/PNG.
6. Be able to properly handle images of varying sizes with compression to keep the file sizes/dimensions relatively small (for web or mobile use)