Images in the office ribbon can be large (32x32) or small (16x16). If they are specified as large, but the window is too narrow to fit them, then they are automatically made small. By default, these are just a condensed version of the larger image.
There was an office design document (since disappeared) that suggested that one should properly design the small icons, and that they should not just be small versions of the big ones because condensing to 16x16 does not always work very well. Very sensible.
But does one actually do it in the XML? Elements like Button only seem to have one image attribute. I would expect two, largeImage and smallImage (say).
Is this something that really needs horrible call backs? In which case, how does one catch the event that the ribbon has decided to resize the image? (Ribbon call backs are a mess with VBA for several reasons.)