I have a 512x512 image of a button background:

I use this image with Unity’s 9-slicing feature in order to let it adjust to new sizes:

However, I sometimes want to render this button at a smaller size, say 128x128. This presents a problem:

The image of course scales down, but the corners stay the same size. What I would like to do is proportionally scale the image before applying 9-slicing.
Some ideas about how to do this:
1) Use a flexbox scale=0.25 transformation
- I think this would work, but it’s not feasible because transformations cause havoc for positioning logic (the bounds of your button are no longer where they were during layout)
2) Just make the image asset smaller
- This would probably also work, but I don’t want to lose resolution in my background image – shrinking it will cause artifacts on high-density screens.
Is there another common approach to this which I’m missing? Thanks!