I have been programming professionally for over six years in the US. You can rest assured that your project will be done right the first time, with readable, high quality code.
For this project, I would use OpenCV to detect the white area of the frame, and then either center the desired image in the frame, or scale to fit, depending on your preference. I intend on prioritizing performance for ease of use in case many of these images need to be generated in a short time-frame.
I have a couple questions for you:
1. Are you intending on using this on Windows, Linux, or a mixture of both? Either way is a non-issue, I'm just curious if you'd like to use a cross-platform solution or would like a native look and feel on a specific operating system.
2. Would you like a deployment solution (installer) provided with this application, or would you rather use it in a portable form so you are able to, say, copy it and use it from a USB drive?
Thanks for your consideration, and I look forward to hearing from you!