I’ve now have this implemented by adding a crop() identifier to the image widget. I went with the image widget rather than the slider to make things a little more generic. In the example shown below, I place a slider with alpha 0 on top of each image widget. The crop identifier forces the image widget to display only a small part of the source image. It’s then quite simple to dynamically set which part of the image to show using identifier channels().

Note that I would probably wrap this logic into a UDO if I was developing GUIs using this method. Note this is only implemented for .pngs for now.