Thanks, Nawrot!
I was able to load the file in C++ following the approach here: Creating a File Picker | Orfeas Eleftheriou.
I could presumably write more C++ code to parse the incoming file into square bitmaps, but I thought it might be cleaner to do in blueprints instead. (I might need one lib for PNG, another one for TIFF, and yet another one for JPG)
I am thinking that in theory once I have the bitmap loaded I can use a dynamic material to grab the square that I want from the bitmap, and pass that along to an image in a widget for display onscreen.
However, when I try to apply a material to an image on my widget, nothing seems to be happening - Set Brush Resource To Material seems to not be working for me.
Here is the layout of the widget, it has only one child, the image:
Did I call SetBrushResourceToMaterial correctly?