Azure Function with Http Trigger and SixLabors ImageSharp do this good.
First you have to implement DownloadImageAsync to download file from url, from this sample code:
const int _downloadImageTimeoutInSeconds = 15;
static readonly HttpClient _httpClient = new HttpClient { Timeout = TimeSpan.FromSeconds(_downloadImageTimeoutInSeconds) };
public static async Task<byte[]> DownloadImageAsync(string imageUrl)
{
try
{
using (var httpResponse = await _httpClient.GetAsync(imageUrl))
{
if (httpResponse.StatusCode == HttpStatusCode.OK)
{
return await httpResponse.Content.ReadAsByteArrayAsync();
}
else
{
//Url is Invalid
return null;
}
}
}
catch (Exception e)
{
//Handle Exception
return null;
}
}
Now we have to create an Azure Function with GET method, Anonymous Authorization level to ensure all client will call it easier. ImageSharp for resizing is here and convert to based64 I referenced from here
[FunctionName("MyImageResizer")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
ILogger log)
{
string url = req.Query["url"];
string width = req.Query["width"];
string height = req.Query["height"];
string result = string.Empty;
using (Image image = Image.Load(await DownloadImageAsync(url)))
{
image.Mutate(x => x.Resize(int.Parse(width), int.Parse(height)));
using (var ms = new MemoryStream())
{
image.Save(ms, new PngEncoder());
image.Dispose();
byte[] imageBytes = ms.ToArray();
result = Convert.ToBase64String(imageBytes);
imageBytes = null;
ms.Dispose();
}
GC.Collect();
}
return new OkObjectResult(result);
}
After launched a program, the terminal will show MyImageResizer function and its request url

Test request in Postman

and result is:
iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAL+UlEQVR4nM1ae1CVxxVf4OMNYhQ1Eo0YtcGAolXRQh8TNEmnGDUxGpvOmLRq2rTpGM20Wl8oRqOmTUsydlqoBm0abe1MMo31ga0YbX1RNEGNESwKFZsIxADCvbykv9/3nb0ul2u9/gOcmcPunt3v7J49Z885uxdLAVauXKkCAgJYZdkLxc+AqcDj7e3tr6L8gn1tbW1q3bp1qitg48aNnWhLliy57XhbkMDAQIUFE8MgyB9Amir9Xwcmgv4U6G7LslQXw33AR4GHgJf+30Br+fLlthDUCHCVuiWEDaBloFiCcg3HdTFMAG4Ffk/dSRBqg4BFPojFLvQ1iHT0v4VqxapVq1RWVpbqImiVsuVOA63W1lYVEhLC+veBEbcZdw/wOQiU1Q1a8Qus4OBgdfPmzRhoZqZBfxcL3i1m9SQJqKfS/HqsIOKt6KHuF9pOl8v1TFhYWHtTU9PW0NDQnaA9DQEK2Km9W08D2w1hcY9IuwYLXhIeHt7OnYcQ1MAy9H8DfXu0U+iJYGHXA7DgVGnvwEIrtAnx/MD0ymB6i9FXygFr1qxRPREsCDEY5Qhp/5F/sHDbMzFQsg6hdqgeDjStLwH7AC9hwaepjYyMDFsQRnJ6NAqj3XRPBQrykNRPQYgGViZOnGgT1q9fr3oaZGdnd2gvXOiEPgqizeo0//Bc+AMLFiywDz61RdDniprLyclR+fn5nRyD2Z4yZYpavXq1/b3p1jWP28159uzZTjQtSLzQLvAP48qdYP78+To3YzMdGAd8Dwu6QRr79aLRDkR9GqpBHIN2G+lMChsaGvSYGBRPAIsw9oyvWGVsAvkwtrkg8G69kRRkoDD7D0t/vFJsbKyqqamxNwT4W84D/AsmmwU+zTxXXAyTTEzE7Pmn8umvMPkiTh4UFGQTUEc1aBuq04GXgd8FboaQ70RFRZ3QQulzivIVNJcK7Qec354Llb7AZmCNPzGCqhQhhgI3iRCEaWBIxm8kJCToSR82hCC8BNo+zLO/V69eqq6ujgLNFSEI8UDm6iOB92HcTS1IfX09+aV48WMi+y7KaxQkCuiiWejezMxMLu62uUhlZSVVPQ/V3l5dL2Cy3IqKCldiYiK18mPvb/EdafvdbjcXFghBXvAaMkU2p0OiSA+qHAswD9AA8OMm5FKQMCCNtckYQCG+DczwovMAZRcXFxclJydPV50hAZqY1Lt37wIIMQjth32M4R0nHvHrMoRIRv3LXv2dLj3UzMGDBy3M+YjqDFPRbwtCpKu66TXga8Dv+GCaP2zYMN4YE4TEIEqPlwkMB6YjxaEgKRirNfY6kFv6E2A0+iZBiMsyBw8LTZt3g0TlbGAHwOa0Dh8+nOY2REg8d9x8npex4NeHQtgm5MNTNPuQ3vYeWOgY2QCmL89jojrlOA069Qn9+vXjuBT55G/Al6U+GvgY++AdmYxOFDpvpeuwht7o+yrqg73mbIMGR0vzRERExLLGxkbWv6WchHeE1oYlO+MPgG9AotT/LEIQtosgwxG0gjZt2jRSXPQ2w4nkURDgyAkTJqiysjKt1W3CmJp+H/hDrznbMY8eu1OEsIUSQRIogBvIu3qI5ytHOyEGIzMusP6AkA8ZQ84Dy4AD0tLSBmHMYIkZxw2eJ0BvAQ7au3dvf+Xcya+hr9iY44i3IOjnJsdL85iUTK30HWokBaG34sGMBn5qTJotu9OGths78qRchdk5UMpSPR79LpRsPxAZGUl+dOuVoF01Fkn+V9iHWDNITOlD3H2u04sJXNR7pwkw32CMG4CqSznmHIH53la37lCRFKQaOBRMY/XCBC4I2jEBjMayDjdIt8hDfF3QTDGusMQiB4IWyUlh240tLY4nBY3CUpiHwPNelKH8BlcJk0cVvZQWRNIgessYma8R3+Yo52GCcBrfrbO0FgCD8dExpu5r1671SMN8SCaIk93nrvBu3yA75HmFMQSjoDTNWgqhHYmMqZW+e2SK65qHQKPw9WiEpiVPVZxzmbrlTamEZykDBbkkk9iHyfvtSid1yrFnMq1FmzvUSm/CBdAs4MnY3Sy8uFAGrhYf93zSAo0z6fGOMpbnqtUUxOkKIJNhyon89tKUEyDPMD/kqkukY6xeuOrIQe84U5JW1GukKxB1ezLYuB6uPR8X0m60TdMJkr428xujP1B1jN5KNrCNG2CQlisnCVXUOgX5WDoYYRms6pmZ8nmSj3cCNIPhyrnTX5NdJI0SuA33GiObUa+cFCNKHv5MYaKA7NNuu5fXmkOFr0eN1DzQzDDy0N6grSU3N1dZYFqCBm2NHmA86gU6vdYZKmhJKOgui2bMmHFty5YtTNcflIV/YUzAQ06H8Cn6aev9MRkX1sSdAz0YPG3vA/pnopV7jZdOvWnBygjUONwUvF7m+ADjfmQ+hDCRtVJSUioLCwvpnei1mB4wvVArVqxQLpdLIYpy7FPC5MKuXbuUaIU2zpShXCbk0xK15kbAqlTOIR4Gej/luFwuiHWetUqYQ6VohR6TkzTKwnQa4rFxfNeMMdXSv4GbJNqgRfHbOgtCsPMoMA04G7gJH16ky6VG8FEcPpgjPAvlDJVLmynGYdFavHJum9dOnTp1ZerUqYwfSaCP1oIARikn2/7vkSNHro4aNYpaYaLJQ3xGxujUxgOSzus5GQj3yS2S881H/8uWHLB8NJjQ0VR+AROYhbL56tWrKi4ujglaf2fT249KOn1emM4Ew9dEuGmipUu4R3PHGJMelc3ZI+NnifZKZs6c2VpSUsLgR285g4LAAgLg/TJUZ+Dcn0h9Otb6hqz7m0C+S++w5AAyjWB6wdRjGjTxV5TvQwjeDR4XBp9gbLHc6T/SGsGCuQFMGxYL7cPy8nKVlJRUJO2nlfO4xwP7jNCKJJKfUs7r/4vAw/B+41GO8yFFUHNzc7GEhnS0+U5NDS5Sjtd73OIZwOFmmvInJVdI5Vxupnjxew/oZhQGnONDnnIcBH+R4arCZdwhSeq4ORxMD/S22DcPMQ/uMdmQw/INNb7PzPdMYGQvLS09h/sIr+PMjDcLb/3oXmjpTBJS5oARb2sxPng1MotlRRbEQ3oAyFtigCEEvdXhGzdu0CTPwzT/pZyzZ75onMZBPysRn0kkA/JQEdgn8AFj8uTJLdXV1X9H8znlaEELUYr+DyxGZApDhiC8hvIVH7x+A/oFng8jcP1OOT/AmBGYT67VBQUFKj09XW9OmhevXETi9jFjxqgDBw7QEpj8rTT6aW50CoEG70DZwC0iiAm/R1+9tXTpUsUfb2RxfEygl5ltDDyIvtU2N3iKPn366McHmg5V/KKMuyjfq3HjxunnonfkXDxm8OK9RR09elTP+SbG8BzRG9FE3wTmyHi3YGN0dLSCRv7BzUH7eek/h/ZmCmmfHtqrHKQWdDAJOy43PL4x/VrdCkZqw4YNnkcx5bxoVCnnrvA6M1sylXNE7TGleRYlf1ylObyKup1bGZejKoyZDfpilHtQ0hxpikFVVVX/7Nu3L+NbU1RUlE6fFmMME13Go5+j/jmJ9ur5NMqMl3aLDjcY/jLAeEWURXnevGhiEvX5+pJFTWmzIzBlmDNnjv7+M/B7Sf/gqsErp/tINpCQLPO5JBFt0IKLWbOdKc9NHlP3pLpM3wmZmZkdnj8JTOVN2Lp1q5o7d67SD3E6XaAwSF/sMTictvkw3dGbQn5c0MmTJ1VFRYUaMsQO4iPw3UVYhJZSOxs7F+P3+jfLefPmedbEuSgo37vy8vI6P734+/vH9u3b7zgmNTXVJ53JaHx8vC0vcDWEmMwXStnA+0WzzP86XCv0JvmCLv/hnECzjImJUbW1tbzBfQWLp2rs2ymEGC/D7Cuyv4/q3SIIgc+lgM+lOQsCrGfyGOD8AEtgwPX7p/BuEcS4dZ4EZqC+CEJcQckHO2bQfFmpuBue3SKIcRHTKUosaNuMIR+jXXU3PLtFELp6CcKFvDIoRwsm7OefyMhIv3l22xmRG2EDhHkLpfkvR7Wg7WQ/Xau/0G2CGMGRKQmvCpOEzsfwy+w3n6XuBN0mCL0RzQtQj0U/wXwL5b/hCHbLzfSu+HWbIAQjk2buZP9cywBImgRMv+F/irms0MRYFVEAAAAASUVORK5CYII=
Use some tool online to check, such as Base64-to-image-converter