Your on the right track. Im assuming these logos are all in sub pages, so you just need to loop through the subpages, and check the featured field in a filter. Without knowing the structure of the site though, it’s hard to give you an exact code example. You do have a small error in your code though.
This is wrong:
<?= $sponsor->$img()->Resize(300, 300) ?>
Should be:
<?= $img->resize(300, 300) ?>
To loop through them, you would need something like this:
The problem is that your logo thingy is not a files field but a files section. So it doesn’t store anything in your content file but only uploads the file and stores the selected template (in this case image) in the file’s meta data.
Consequently, you can’t fetch the file with <?php if($img = $sponsor->logo()->toFile()): ?>but have to get it like this:
This fetches all files, filters them by the image template and then gets the first.
The alternative would be to add an additional files field where you store the image name, but that doesn’t really make sense in this case. In the future, when we have a files field with upload possibility (probably v 3.2), that will be the way to go.