public async Task <IImage> GetImage(FileImageSource file, CancellationToken token)
        {
            var handler     = new FileImageSourceHandler();
            var nativeImage = await handler.LoadImageAsync(file, token);

            if (nativeImage == null)
            {
                return(null);
            }

            var image = new CGImageImage(nativeImage.CGImage, _scale);

            return(image);
        }
        public IImage GetRoundedImage(Size size, NGraphics.Color color, float radius)
        {
            size *= _scale;
            UIGraphics.BeginImageContextWithOptions(new CGSize(size.Width, size.Height), false, 0);
            IImage image = null;

            using (var context = UIGraphics.GetCurrentContext())
            {
                context.SetAllowsAntialiasing(true);
                context.SetShouldAntialias(true);

                context.SetFillColor(UIColor.FromRGBA(color.R, color.G, color.B, color.A).CGColor);
                context.AddPath(CGPath.FromRoundedRect(new CGRect(0, 0, size.Width, size.Height), radius, radius));
                context.FillPath();
            }
            var nativeImage = UIGraphics.GetImageFromCurrentImageContext();

            image = new CGImageImage(nativeImage.CGImage, _scale);
            return(image);
        }