using System; using System.IO; using System.Net.Http; using System.Threading.Tasks; using Avalonia.Media.Imaging; using Avalonia.Platform; namespace speedLight.UI.Helpers; public class ImageHelper { public static Bitmap LoadFromResource(Uri resourceUri) { return new Bitmap(AssetLoader.Open(resourceUri)); } public static async Task LoadFromWeb(Uri url) { using var httpClient = new HttpClient(); try { var response = await httpClient.GetAsync(url); response.EnsureSuccessStatusCode(); var data = await response.Content.ReadAsByteArrayAsync(); return new Bitmap(new MemoryStream(data)); } catch (HttpRequestException ex) { Console.WriteLine($"An error occurred while downloading image '{url}' : {ex.Message}"); return null; } } }