public static async Task LoadFromItem(this NSImageView imageView, MediaItemBase item, float imageWidth, NSImage defaultImage = null) { try{ if (defaultImage == null) { defaultImage = Images.GetDefaultAlbumArt(imageWidth); } if (imageView.Identifier != item?.Id) { imageView.Image = defaultImage; } if (item == null) { return; } imageView.Identifier = item.Id; var image = await item.GetLocalImage(imageWidth); if (imageView.Identifier != item.Id) { return; } if (image != null) { imageView.Image = image; } else { var artUrl = await ArtworkManager.Shared.GetArtwork(item); if (imageView.Identifier != item.Id) { return; } if (string.IsNullOrWhiteSpace(artUrl)) { return; } imageView.SetImage(new NSUrl(artUrl)); } } catch (Exception ex) { Console.WriteLine(ex); } }
public static async Task LoadFromUrl(this NSImageView imageView, string url, NSImage defaultImage = null) { try{ if (imageView.Identifier != url) { imageView.Image = defaultImage; } var width = (float)imageView.Bounds.Width; if (!string.IsNullOrWhiteSpace(url)) { imageView.Identifier = url; imageView.SetImage(new NSUrl(url)); } } catch (Exception ex) { Console.WriteLine(ex); } }