I am currently using FFImageLoading package to do caching etc to show on the ui. I am unsure whether FFImageLoading have function to resize the image itself so i can save it and send over the internet.
It's as easy as:
var stream = await ImageService.Instance.LoadFile("someimage.png")
.DownSample(width: 200)
.AsPNGStreamAsync();