I do have a question for anyone out here that can clarify this for me:
What is the purpose of these two lines of code:
projectRect.origin.x = (newRect.size.width - projectRect.size.width) / 2.0;
projectRect.origin.y = (newRect.size.height - projectRect.size.height) / 2.0;
As I currently understand it:
 newRect is ultimate size and used to establish size and rounded edges of the end result - origin at 0,0 (also used to calculate multiple or image resizing). I’m understanding this as an image “mask”.
 projectRect is where the image will be drawn to, not necessarily 40 x 40 square, size determined by multiplier. Origin is dynamic based on difference ratio of the original image and the thumbnail size (divided by 2).
I’m (incorrectly) assuming that the two origins need to be lined up such that when the image is extracted from the current context the newRect will line up with the projectRect and the image is the product of the two.
Obviously, I’m incorrect (as it works), just don’t understand how/why.
Thank you for any help.