See attached screenshot and code. A simple SVG image is set as the icon on many Buttons (all with different dimensions).
The SVG specifies a circle with diameter 32, and a viewport of 32x32. The icon size is set equal to the optimal viewport size (32 x 32) on all Buttons. Every Button is large enough such that no scaling of the image should occur.
All icons are exactly 32 x 32, as expected.
However, depending on the the exact dimensions of the parent Button, the icon might be rasterized a bit too big before getting cropped. This seems to occur when the Button dimensions are an odd number.
All icons should look exactly the same, regardless of the Button dimensions.