Good catch! That was a bug, and in fixing it, I’ve done something I’ve been meaning to do for a long time, and have added an Image::getCroppedImage() method, so you can create Images that refer to subimages of other ones. That replaces some of the confusing clip rectangle parameters in some graphics methods, and simplifies everything quite nicely. New code is checked in if you want to try it…
getCroppedImage() method is also an extremely useful bonus.
BTW: Will duplicateIfShared() method also correctly detach cropped image from the original if needed?